以前那个虚拟空间快到期,这次换了个比较大的空间,各方面性能可能会比以前那个好一点。下午转移Blog的时候出了问题,utf-8编码的数据库倒入新的空间后,用phpMyAdmin浏览显示正常,可是网站上却显示??,找工作人员解释也说不清。后来看到了一篇文章,才知道是因为mysql的版本问题引起的。目前多数程序只要求mysql版本高于3.x,事实上4.1.x版本又有了许多新的改动,导致许多程序无法正常使用,具体是这样的:
尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3 仍然占主导地位;但 MySQL 4.1 是 MySQL 官方推荐的数据库,已经有主机提供商开始提供并将会越来越多;
许多 PHP 程序以 MySQL 作为默认的数据库管理软件,但它们一般不区分 MySQL 4.1 与 4.1 以下版本的区别,笼统地称“MySQL 3.xx.xx 以上版本”就满足安装需求了;
因为 latin1 在许多地方 (下边会详细描述具体是哪些地方) 作为默认的字符集,成功的蒙蔽了许多 PHP 程序的开发者和用户,掩盖了在中文等语言环境下会出现的问题;
后来参考众多意见在query之前先执行一下:SET NAMES 'utf8',问题解决,不过程序是否能正常运行还有待观察~
本文引用通告地址:
http://www.veryhd.com/blog/trackback.php?id=195