- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MYSQL使用UTF8中文乱码终极解决办法MYSQL使用UTF8中文乱码终极解决办法
MYSQL使用UTF8中文乱码终极解决办法
作者:刘明灵 liumingling@ 2009.8
MYSQL乱码的问题主要有几个环节决定,一个是前端网页;二是字符传输;三是连接
MYSQL;四是MYSQL的存贮方式。
MYSQL的缺省字符集为latin1;如果不做任何处理,则存贮方式为latin;此时虽
然在PHP程序中设置set names utf8,可以正确存取中文;但其实utf8的字符
按照latin1来存贮,占用的字节数差不多翻倍。这样的方式,本质上是按照乱码存
放,读取的时候再还原,是不太可取的。
我们要做的是实现前端UTF-8,传输UTF-8,接口UTF8,存贮UTF8。
1、前端问题:网页和PHP程序存贮为UTF-8格式;网页中指定编码格式:
meta http-equiv=Content-Type content=text/html;
charset=UTF-8 /
2、传输问题:apache的配置
vim /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8
3、MYSQL的连接和存贮问题:修改MYSQL配置
vim /etc/mysql/f
[client]
default-character-set = utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8
注1:MySQL官方建议 [mysqld] 的部份应该要使用 character-set-server 与
collation-server 等选项,
而不是使用 default-character-set,因为此选项已经是 deprecated。
注2:skip-character-set-client-handshake是忽略客户端的字符集,使用
服务器的设置;这样就使得接口也是UTF8;很多人建议在PHP程序中,
在连接数据库时设置mysql_query(set names utf8);或者在f中配
置init-connect=SET NAMES utf8 (仅对非超级用户有效);
其实这里配置skip-character-set-client-handshake是最简洁有效的,客户
端可以不做任何处理。
注3:[client]配置客户端部分,用于服务器本地维护;[mysql]配置MYSQL启动
条件。
重启mysql
/etc/init.d/mysql restart
进入MYSQL,查看配置是否正确:
mysql show variables like character_set_%;
+++
| 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)
mysql show variables like collation_%;
+++
| Variable_name | Value
您可能关注的文档
- Intel与Motorola的编码格式区别Intel与Motorola的编码格式区别.pdf
- iOS 7.1下itms-services在线安装失败的解决方法iOS 7.1下itms-services在线安装失败的解决方法.pdf
- IPAM-3402应用手册-组态王IPAM-3402应用手册-组态王.doc
- ipad keynote 使用手册ipad keynote 使用手册.pdf
- Inventor中级教程-设计加速器Inventor中级教程-设计加速器.pdf
- Iperf详细使用说明Iperf详细使用说明.doc
- IPQC是制程检验IPQC是制程检验.doc
- Ipython操作指南Ipython操作指南.pdf
- IPV4数据封装IPV4数据封装.ppt
- ip地址配置和telnet配置ip地址配置和telnet配置.pdf
文档评论(0)