PHP程序在Windows正常的,在Unix下乱码的解决方案。

十 30th, 2009

PHP程序在Windows正常的,在Unix下乱码的解决方案。
今天接到一个客户的问题,在原虚拟主机上正常,到新买的万网M3上。结果乱码。
以为是客户数据库导入的时候编码出了问题,客户导了半天没导上。我也在本地测试,导入后,在win2k3下确实没有问题,但是换成Unix主机的时候,应该是编码问题。看客户的数据库中的编码是UTF8的,在连接MySQL后的语句加上:

< ?php
         mysql_query("SET NAMES UTF8")
?>

问题仍未解决,打开其中一个表,发现在数据库中也是乱码。这事确定肯定不是以utf-8的编码保存的。
在window下正常,Linux下不正常。难道是客户的技术创建表时用了latin1。

< ?php
         mysql_query("SET NAMES latin1")
?>

确实如此,这样程序一切正常了。在此我给程序员提个建议。再写程序或者创建数据库的时候尽量按标准编码。否则,客户换几次空间,可能就出问题了。。。。

标签:
  1. 种草人
    十 31st, 200901:55

    我喜欢夜晚行动,呵呵。挺有风格的博客,顶一下。