CentOS 7修改MySQL 5.6字符集為UTF-8


MySQL編碼原因會導致數據庫出現中文亂碼

解決辦法:

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

具體操作:

1、進入MySQL控制台

mysql -h localhost -P 3306 -u root -p #輸入密碼進入

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

Server characterset: latin1

Db characterset: latin1

Client characterset: latin1

Conn. characterset: latin1

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

此時再在命令行輸入:show variables like 'character_set%'; #查看MySQL字符集

2、修改mysql配置文件

vi /etc/my.cnf #根據個人配置找到相應文件

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

default-character-set=utf8

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

#default-storage-engine=INNODB #置默認存儲引擎為InnoDB,此處可不必添加

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

3、systemctl restart mysql.service #重啟MySQL

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

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;

.........................................................................................................................................................................

摘取自系統運維(www.osyunwei.com),原文鏈接:修改MySQL數據庫字符編碼為UTF-8解決中文亂碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM