我在 MySQL 4.1 服务器上有一个旧数据库,数据库包含一些用户输入的内容,我已将此数据库复制到新的 MySQL 5 服务器,当我查看打印内容的页面时,我看到带有问题的黑色菱形字符标记在中间。这仅在新服务器上显示。
如果我将此标题添加到页面,菱形不再显示:
header('Content-Type: text/html; charset=iso-8859-1');
如果我取出该标头,则服务器会发送一个如下所示的默认标头,并且菱形会重新出现
内容类型:文本/html;字符集=UTF8
我怎样才能在数据库中解决这个问题(例如表格上的某种转换),这样我就不必把这个标题放在我的所有页面中?
更多信息:我使用 mysqldump 从旧服务器导出数据库,然后使用 CentOS mysql 命令行导入它。我也尝试过使用 phpMyAdmin 导出,但结果相同。
编辑:
查看我的 mysqldump 文件,我可以看到所有 CREATE TABLE 语句都有 charset = Latin1,所以我认为我正在寻找一种以 UTF8 导出数据库的方法。我已经尝试将此选项添加到 mysqldump 但它没有任何效果,转储仍然显示 Latin1:
--默认字符集=utf8