關於MYSQL存儲中文問題


最近在學習MYSQL時遇到了不能存儲中文的問題,在網上找了很多類似的方法,最后都失敗了(失敗原因:修改完my.cnf文件后mysql server重新啟動失敗),瀕臨崩潰的時候重裝了下mysql(Ubuntu重裝mysql)然后用以下方法走了一遍就解決了。

 

造成MYSQL存儲中文亂碼的原因是編碼格式不一致導致亂碼,如何去查看編碼是否一致呢?

首先進入mysql服務器:

~$ mysql -u root -p******
//“*”號處輸入密碼,與p之間沒有空格;

 查看當前數據庫相關編碼集:

show variables like '%char%';       (注意最后有分號!)       
+------------------------------+---------------------------------+
| Variable_name                | Value                           |
+------------------------------+---------------------------------+
| character_set_client         | utf8                            |
| character_set_connection     | utf8                            |
| character_set_database       | utf8                            |
| character_set_filesystem     | binary                          |
| character_set_results        | utf8                            |
| character_set_server         | latin1                          |
| character_set_system         | utf8                            |
| character_sets_dir           | /usr/share/mysql/charsets/      |
+------------------------------+---------------------------------+
8 rows in set (0.00 sec)

 如何去修改成一致的編碼格式呢?

 Ctrl+C退出mysql服務器。

 用vi或者gedit打開MYSQL配置文件my.cnf,並添加內容:

~$ sudo vi /etc/mysql/my.cnf              //用vi打開

~$ sudo gedit /etc/mysql/my.cnf         //用gedit打開

在[client]標簽下,增加客戶端的字符編碼
[client]
default-character-set=utf8

在[mysqld]標簽下,增加服務器端的字符編碼
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

 修改完后,重新啟動MYSQL服務器:

~$ sudo /etc/init.d/mysql restart

 再次進入mysql服務器,查看編碼集,出現如下結果表示You succeed:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

轉載自本人ITeye鏈接:http://xiaozhuang0706.iteye.com/blog/2258342



 


免責聲明!

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



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