当UTF8标头发送时,页面上的黑钻石问号字符

Ser*_*oke 1 php mysql utf-8 character-encoding

我有一个MySQL 4.1服务器上的旧数据库,该数据库包含了一些用户输入的内容,我抄这个数据库到一个新的MySQL 5服务器时,我认为是印制内容的网页,我看到有问题的黑钻石品质在中间标记.这仅显示在新服务器上.

如果我将此标题添加到页面,则钻石不再显示:

header('Content-Type: text/html; charset=iso-8859-1');
Run Code Online (Sandbox Code Playgroud)

如果我拿出那个标题,那么服务器会发送一个如下所示的默认标题,并重新显示菱形

内容类型:text/html; 字符集= UTF8

我怎样才能在db中解决这个问题(例如对表进行某种转换),这样我就不必在所有页面中放置这个标题了?

更多信息:我使用mysqldump从旧服务器导出数据库,然后使用CentOS mysql命令行导入它.我也尝试使用phpMyAdmin导出,但结果相同.

编辑:

看看我的mysqldump文件,我可以看到所有的CREATE TABLE语句都有charset = Latin1,所以我认为我正在寻找的是一种以UTF8导出数据库的方法.我尝试将此选项添加到mysqldump但它没有任何效果,转储仍显示Latin1:

--default-字符集= UTF8

Tre*_*vor 5

尝试在连接到数据库后设置charset:

mysql_set_charset("utf8");
Run Code Online (Sandbox Code Playgroud)