萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 修改MySQL數據庫字符編碼為UTF

修改MySQL數據庫字符編碼為UTF

中文亂碼就是編碼不對了,我們數據庫可以是gbk也可以是uft-8了,但如果我們配置沒有做好肯定中文亂碼民避免不了了,下面我們來看一篇關於通過修改修改MySQL數據庫字符編碼為UTF-8解決中文亂碼問題。

問題:

由於MySQL編碼原因會導致數據庫出現亂碼。

解決辦法:

修改MySQL數據庫字符編碼為UTF-8,UTF-8包含全世界所有國家需要用到的字符,是國際編碼。

具體操作:

1、進入MySQL控制台

mysql -uroot -p #輸入密碼進入

status; #查看當前MySQL運行狀態,如下圖所示:

系統運維  www.osyunwei.com  溫馨提醒:系統運維原創內容©版權所有,轉載請注明出處及原文鏈接

Server characterset: latin1

Db characterset: latin1

Client characterset: utf8

Conn. characterset: utf8

默認客戶端和服務器端都用了latin1編碼,所以會出現亂碼。

2、修改mysql配置文件

vi /etc/my.cnf

#在[client]段增加下面代碼

default-character-set=utf8

#在[mysqld]段增加下面的代碼

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

3、service mysqld restart #重啟MySQL

再次進入MySQL控制台查看,如下圖所示:

1.jpg

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

show variables like 'character_set_%' #查看MySQL字符集

MySQL數據庫字符集編碼修改完成!

參數說明:

character_set_client:客戶端請求數據的字符集。

character_set_connection:從客戶端接收到數據,然後傳輸的字符集。

character_set_database:

默認數據庫的字符集,無論默認數據庫如何改變,都是這個字符集;如果沒有默認數據庫,

使character_set_server指定的字符集,此參數無需設置。

character_set_filesystem:

把操作系統上文件名轉化成此字符集,即把character_set_client轉換character_set_filesystem,默認binary即可。

character_set_results:結果集的字符集。

character_set_server:數據庫服務器的默認字符集。

character_set_system:這個值總是utf8,不需要設置,存儲系統元數據的字符集。

備注:

MySQL 5.5之前的版本設置辦法:

在[client]段下添加

default-character-set=utf8

在[mysqld]段下添加

default-character-set=utf8

注意,如果修改後不能啟動報錯,把[mysqld]段下default-character-set=utf8改為character_set_server=utf8,取消[client]段的設置。

創建數據庫的命令:

Create DATABASE IF NOT EXISTS mydata default charset utf8 COLLATE utf8_general_ci;

copyright © 萬盛學電腦網 all rights reserved