这三句真言如果不放进 PHP 程序的 DB connection 的 constructor 里头,用 mysql/mysqli ext 写进数据库的 UTF-8 字串就会烂掉。虽然用 PHP 读出来看似没有问题,但是个别的字符由于神秘的 collation 问题就会变成一个 ?,并且如果用 PMA 去管理的话就彻底烂掉。目前市场上的大部分的关于 LAMP 的书,讲的都还是 MySQL 4.0 时代的事情,国内的很多 IDC 甚至还在提供 3.23 的 hosting,所以这样的三句真言的实用真的就只能从实际应用的痛中找到。
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION='utf8_general_ci';
这个星期必须为以前那些已经烂掉的数据库写一个 tidier,to make it solid。否则真的是相当不爽。
最近 Kijiji 新上了音乐频道,
http://music.kijiji.com.cn/,这个东西的受欢迎程度,现在正在向一个我不知道的方向推进。真是非常好玩。
这三句真言如果不放进 PHP 程序的 DB connection 的 constructor 里头,用 mysql/mysqli ext 写进数据库的 UTF-8 字串就会烂掉。虽然用 PHP 读出来看似没有问题,但是个别的字符由于神秘的 collation 问题就会变成一个 ?,并且如果用 PMA 去管理的话就彻底烂掉。目前市场上的大部分的关于 LAMP 的书,讲的都还是 MySQL 4.0 时代的事情,国内的很多 IDC 甚至还在提供 3.23 的 hosting,所以这样的三句真言的实用真的就只能从实际应用的痛中找到。
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION='utf8_general_ci';
这个星期必须为以前那些已经烂掉的数据库写一个 tidier,to make it solid。否则真的是相当不爽。
最近 Kijiji 新上了音乐频道,http://music.kijiji.com.cn/,这个东西的受欢迎程度,现在正在向一个我不知道的方向推进。真是非常好玩。