如何在不强制兼容模式的情况下在IE8中显示中文字符?

时间:2010-10-05 20:59:05

标签: internet-explorer-8 cross-browser cjk

this issue的所有解决方案都说要使用<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,因为它强制浏览器在兼容性视图中呈现(即好像它是IE7),但是后来字符不显示当用户实际使用IE7(或许多其他浏览器)时。相反,我看到了正方形。

其他人遇到过这个吗?你是怎么处理它的?

3 个答案:

答案 0 :(得分:10)

在CSS中设置以下font-family对我有用:

font-family: Arial Unicode MS, Arial, Helvetica, sans-serif;

因为在这种情况下,Arial Unicode MS是中文简体中唯一可用的字体。

更新:感谢Spike,前两种字体的顺序错了。校正。

答案 1 :(得分:5)

这不是编码问题。在此页面上可以清楚地看到该问题,该页面具有正确的utf-8元标记:http://www.jp41.com/internet-explorer/chinese/

问题是IE8的中文默认字体设置为空!

这是修复。

  1. 按alt以显示文件菜单。

  2. 转到/ tools / internet options / fonts /

  3. 将“语言脚本”设置为简体中文

  4. 选择唯一选项 - Arial Unicode MS

  5. 接受更改 - 问题已解决。

  6. 这种疏忽会影响中国传统语言,韩语,日语以及其他大多数其他亚洲语言。

    图片如果问题得到解决:
    http://www.robertpate.net/blog/wp-content/media/ie8-chinese-bug-fullsize.jpg

答案 2 :(得分:3)

这对我来说听起来像编码问题。中文字符可能是使用UTF-8编码输出的,但浏览器没有被告知,并且默认为另一种编码。

尝试包含以下内容:

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

这应该强制浏览器进入UTF-8编码。 (此行包含在引用问题中链接的站点中:http://www.canadainternational.gc.ca/china-chine/index.aspx?lang=eng,在我的IE8中工作正常,默认为UTF-8。)

请注意,原始问题表明这实际上是一个完全独立的问题,涉及IE8依赖于已安装的Windows语言包,而IE7及更早版本则没有。


或者作为快速修复,您可以使用IE条件仅将元标记呈现给IE8浏览器。

<!--[if IE 8]>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<![endif]-->

IE7应忽略此行,导致它正常呈现。