通过清心醉

修改php mysql编码格式修改为UTF-8

作者最近在练习PHP,可是却遇到些问题,其中浪费了最多的时间的莫过于php,mysql的编码问题.

直入主题,首先LINUX平台

进入mysql

[root@qingxinzui ~]# mysql -u root -p

mysql> show variables like ‘character%’;

#查询MYSQL的编码,因为作者的已经修改了,所以不再去弄了.

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

首先修改MYSQL配置文件

[root@qingxinzui ~]# vi /etc/my.cnf

default-character-set=utf8
init_connect=’SET NAMES utf8′

增加这两句,意思就是默认使用UTF-8,第二句就是针对连接的.

service mysqld restart 就可以了

接着是PHP的,一般yum安装的apache

都有设置默认的AddDefaultCharset UTF-8

有人说,修改为GB2312什么的,或者PHP页面头部加上编码格式强制执行

作者在测试过N次过后发现问题根本不是这些.当然,也许在头部加上UTF-8也是可以的

修改PHP文件的编码,计事本打开PHP文件,选择另存为,编码格式修改为UTF8,就可以了.

接下来是WINDOWS平台

其实和LINUX下差不多,只是LINUX下MYSQL的配置文件为my.ini

添加上面的内容就可以,或者使用MYSQL命令.(最好设置有全局变量,方便操作)

如果是XAMPP测试环境的话,修改my.ini

会有以下参数,默认是注释的,修改过来就可以了.

## UTF 8 Settings
init-connect=’SET NAMES utf8′
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir=”E:/xampp/mysql/share/charsets”

 

关于作者

清心醉 administrator

发表评论

请输入验证码: