如何批量修改MySQL表的Collation

Phoca Changing collation tool

Phoca Changing collation tool


刚装上drupal,发现自动安装好后,输入的中文是”?”,直觉说是编码问题。

于是打开phpMyAdmin一看,果然,数据库及其表的 collation 均为 latin1_swedish_ci ,欲改之。

但表太多,手动,费时失事,即使脑海中立刻浮现出 excel 这个伟大的工具,我也先google一下。

还真的有,从 这里 发现这个名叫 Phoca Changing Collation 的php工具,它自我介绍:

“The Phoca Changing collation tool changes the database collation of database, tables and columns.”

试之,输入数据库连接信息,选择目标collation,提交之后稍等片刻就搞定了。
不过,它不会帮忙做数据转换,那是另外一个问题了。

心动?官方下载 或者 本站下载

path设置不当导致PHP无法连接数据库

系统运行得好好的,不过看不惯McAfee运行几天之后会劫持相当大内存,删之。

重启后发现drupal offsite了,提示说数据库连接问题,请检查settings.php云云。

莫名其妙,之前还运行良好,突然连接不上,应该是外部原因,不过保险起见,检查settings.php,无异样。

头大,尝试用mysql命令连接数据库,居然报告

'mysql' is not recognized as an internal or external command,
operable program or batch file.

再尝试Start菜单里面的MySQL Command Line Client,可用。

难道系统环境变量出问题,一看path,发现一堆疑似迅雷看看造成的重复路径,删之,mysql的bin路径不翼而飞,插之。

重启apache服务器,drupal 依然 off。查看apache access log,最后的启动日志里面有好几行类似于

PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Program Files\\PHP\\ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0

报告一堆module无法载入的警告,这些和数据库连接大有关联,大致问题确定,只是不清楚如何解决。

直觉说修改了系统环境变量,应该重启机器,光重启apache可能不够,于是重启。

重启后,发觉问题居然解决了。

原理不确定,大概是由于path设置不当,既造成mysql之类的命令找不到,又导致apache载入module失败。