适用于Chrome的MySQL UTF8,适用于IE的UTF8,适用于Chrome的HEADER UTF8和适用于IE的UTF-8?

时间:2013-02-07 01:22:51

标签: php unicode utf-8 character-encoding mysqli

有了这个:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

IE显示正常 Chrome正常显示

有了这个:

<meta http-equiv="Content-Type" content="text/html; charset=utf8"> 

(没有 - 介于f和8之间)

IE显示èéàä等è$等。 Chrome正常显示

然后我有一个SQL连接(数据库设置为utf8_unicode_ci或ascii_general_ci)

mysqli_set_charset('utf8')

IE和Chrome在发布结果时正确显示èéàäö

mysqli_set_charset('utf-8')

IE和Chrome显示屏è$等或?????发布结果时

其他浏览器怎么样? 为什么呢?

1 个答案:

答案 0 :(得分:3)

Content-Type元标记中,有效方式为:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Chrome正确显示的原因是因为在这种情况下它更容易接受错误,而IE要求正确编写错误。

然而它与MySQL不同。他们决定选择短名。这是一个list of supported character sets。这是服务器端完成的事情,因此您使用的浏览器无关紧要。

您还可以执行以下查询:

SHOW CHARACTER SET LIKE 'utf%'

修改

确保您在数据库中使用与INSERT相同的字符集,否则当您再次查看时可能会产生不良影响。