MySQL的编码问题和乱码问题对于新手来讲是一个麻团,剪不断,理还乱.
这次我碰到的问题是一个我大概5年前写的一个PHP小程序。那时还是一个初学Web程序的小菜鸟,几乎理所应当的犯了初学者该犯的所有错误。
想不到的是,5年中,那个小程序还一直被使用着。更想不到的是,我居然还有机会再次去维护它。
程序其实没有问题,中文输入和输出都很正常,只是PhpMyAdmin查看数据库,所有中文全是乱码。看看软件配置:
CentOS 4.1, Apache 2.0.53下运行的MySQL 4.1, PHP 5.2, PhpMyAdmin 2.6.1。 软件版本有点老,特别是PhpMyAdmin, 但是在公司内网,要升级软件可没那么容易。
仔细看了一下MySQL的编码,用命令: show variables like ‘char%’
1. mysql 命令行下直接使用:show variables like ‘char%’
character-set-client latin1
character-set-connection latin1
character-set-database latin1
character-set-results latin1
character-set-server latin1
character-set-system utf8
character-sets-dir /usr/share/mysql/charsets/
这没啥意外的,毕竟是那帮的瑞典人弄出来的嘛,默认就是全是latin1。但命令行下的中文也是乱码,这个稍后再看。
继续阅读 →
