最近做的项目有点特殊,多人共用开发服务器,无法搭建个人独享的开发环境。
连数据库,不能使用客户端的 GUI 工具,本来我已经离不开 SQLyog 了,现在逼我用命令行,我怎么受得了?
欣慰的是,尽管 MySQL server 虽然不在开发服务器上,也没有 root 权限给我的 IP 做授权,但开发服务器的 IP 是在授权列表内的。
我又想起了 PhpMyAdmin 这个好久不用的工具。
在 Dev server 上装好,配好用户名和密码,然后即可访问 MySQL,不过又遇到新问题!
MySQL server、Database、Table 和 Column 的字符集都是 latin1,而写入数据库的字符是 GBK。虽然设计不够合理,但也算勉强能用,用 SecureCRT 的命令行连接 MySQL,是可以看到正确的中文字符的,因为 SecureCRT 设置的是默认的字符集。
但 PhpMyAdmin 却总是乱码!
查了下 Variables 标签,有 2 个关于字符集的高亮提示,意思是全局设置是 latin1,但 character set client 是 utf8。
任凭我怎么改 MySQL connection collation 的设置,都无效。
tail 了一下 MySQL query log,看到 PhpMyAdmin 总是发送
SET CHARACTER SET ‘utf8’
SET collation_connection = ‘utf8_general_ci’
这 2 条语句!
我又 grep 一下,看到有个文件中的代码,让这 2 条语句被强制执行!
用 解决 PhpMyAdmin 字符乱码问题 所述的方法修改,即刻解决问题!
这下又能高效的访问 MySQL 啦,我相信打字再快的人,输入一条 Select 语句也没有我点击一下鼠标快!