yunvn 发表于 2018-12-22 07:59:44

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
分别在如下几项添加字符集:


default-character-set=gbk

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

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出现乱码的时候有所帮助



页: [1]
查看完整版本: php+mysql显示乱码的个人总结