php+mysql显示乱码的个人总结

说起乱码,我就很讨厌的,每次乱码都要花费我很长的时间去找原因,而网上搜索的答案很多,很乱,很难判断哪个答案是适合自己系统的,现在就把我在php+mysql中文显示正常的代码给贴出来,希望对大家有所帮助。
我的系统是centos5.5,mysql是5.5.20 , php是5.3.10
 
cat /etc/sysconfig/i18n
LANG="zh_CN.GBK"
 
 
vi /etc/my.cnf
分别在如下几项添加字符集:

[client]
default-character-set=gbk
[mysqld]
character_set_server = gbk 
 网上很多文章都是在这里添加 default-character-set=gbk,刚开始我也照网上的资料做,每次启动mysql都是报错的,后来通过查找资料才知道mysql的高级版本不用default-character-set=gbk,而是用character_set_server = gbk
[mysql]
default-character-set=gbk

修改后保存。大家根据自己设置的方式重启mysql数据库
mysql -uroot -p
mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | gbk                              |
| character_set_connection | gbk                              |
| character_set_database   | gbk                              |
| character_set_filesystem | binary                           |
| character_set_results    | gbk                              |
| character_set_server     | gbk                              |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------
这是修改后的mysql数据库编码
 
在php中的mysql_connect(...);mysql_select_db(...);后插入mysql_query("set names 'GBK'");防止在php转码的时候出现乱码
 
希望对大家在mysql出现乱码的时候有所帮助
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章