【发布时间】:2015-10-04 19:16:27
【问题描述】:
我有一个直接在 PhpMyAdmin 中填写的数据库。里面有一些特殊的字符,比如é。在 PhpMyAdmin 中,它们完美显示。当我使用 FPDF/PHP 将它们转换为 PDF 时,它们也能完美显示。当我想用 HTML(使用 PHP)显示它们时,它们会变成带有问号的菱形。
我知道这与字符集和排序规则有关,但我在这方面完全是菜鸟。我的数据库有排序规则latin1_swedish_ci,我想保持这种状态。我的页面在标题中有<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">,所以我认为它们应该是相同的,但我仍然得到问号菱形......如何获得我想要的字符?
请不要说我必须将所有内容都转换为utf-8。我真的很想保留latin1_swedish_ci。我在标题中尝试了charset=utf-8,并将我数据库中的一个字段转换为utf8_general_ci,但该字段也没有正确显示,所以肯定有其他问题......
【问题讨论】:
-
UTF-8 all the way through 的可能重复项
-
以上都假定 Unicode/UTF-8,但只需将其替换为您喜欢的编码即可。重要的部分是始终与您的编码声明保持一致,并在需要的任何地方声明您使用的编码。以上资源告诉你在哪里。
-
另外,看到“带菱形的问号”表示您的页面被解释为 UTF-8/Unicode。这可能意味着您的 HTTP 标头 声明了错误的编码,取代了您的
<meta>声明。
标签: character-encoding collation