2

有了这个:

<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 显示 è$ 等或 ????? 发布结果时

其他浏览器呢?为什么?

4

1 回答 1

3

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

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

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

然而,它与 MySQL 不同。他们决定使用简称。这是支持的字符集列表。这是在服务器端完成的,因此您使用的浏览器无关紧要。

您还可以执行以下查询:

SHOW CHARACTER SET LIKE 'utf%'

编辑:

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

于 2013-02-07T01:32:06.143 回答