字符编码问题

时间:2011-05-04 10:45:33

标签: php character-encoding

我正在尝试将网站从A转移到B.不幸的是,我遇到了某种字符编码问题。我会完成我的工作。如果有人能指出缺少编码的地方,我将不胜感激。

1)从原始数据库生成SQL。 [php脚本遍历构建SQL +插入数据的数据库中的表。]

2)将SQL保存到文件

3)在新主机上运行SQL。 SQL查询以“SET NAMES'utf8'”

开头

4)看看phpmyadmin中的表:货币显示精细 - 表格整理是utf8_general

5)运行CMS页面 - 货币显示为 和?。? [页面具有以下编码。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />]

6)运行相同的原始页面并且货币显示正常。

这是我被困的地方。由于旧网站和新网站都有相同的文件,所以这肯定会指向数据库作为关键点...但是phpMyAdmin显示这些字符就好......我很困惑。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

CMS在连接数据库时也应使用SET NAMES 'utf8'。 也许默认编码是新服务器上的另一个编码。

答案 1 :(得分:0)

我要检查的第一个是源代码文件的编码。如果它在Windows-1250(cp1250)中编码,源代码将生成SQL并将其保存在Windows-1250编码文件中。因此,这些.sql文件中的字符可能会混乱 - 通过在某个文本编辑器中打开来检查它。

当将SQL保存到.sql文件时 - 如何执行此操作?有标题和下载还是通过fwrite函数?

另一件事可能是在使用SQL查询创建.sql时您没有将名称设置为utf8,因此生成的SQL不是UTF8 ...也请检查..