【问题标题】:HTML web page doctype declaration issueHTML 网页文档类型声明问题
【发布时间】:2011-12-29 21:20:35
【问题描述】:

我正在设计一个应该支持所有语言utf-8 的网页。不幸的是,某些语言字符在 IE 上无法识别,但在 mozilla 和 chrome 上却很好,为什么?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> <body>
  <p>Chinese Text : &#24744;&#22909;&#19990;&#30028; </p>
  <p> Indian text : &#2361;&#2375;&#2354;&#2379; &#2357;&#2367;&#2358;&#2381;&#2357; </p>
</body>
</html>

但是当我删除第一行时,internet explorer (IE) 上也会显示字符。

Removed : <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

有人可以解释一下,多语言支持的正确文档类型声明应该是什么。

【问题讨论】:

  • 字符在这里显示得很好(Vista 上的 IE8)。但是,如果你想要UTF-8,为什么要将charset 设置为ISO-8859-1
  • opps :( 拼写错误。对不起,让我编辑
  • 如果您将中文文本指定为字符引用,则字符集无关紧要。理论上,任何字符集都可以。所以真正的问题是,为什么 IE8 在 quirks 模式下显示字符而不在标准模式下显示字符。在XP下的IE8中确实会出现此问题。
  • 当 IE 8 不显示字符时会发生什么?它们是完全丢失了,还是出现了一些框或一些错误的字符? (我怀疑是字体问题,或者更确切地说是 IE 8 无法使用备用字体。)
  • @MrLister:是的,你是对的。 XP下IE8确实出现问题

标签: html utf-8


【解决方案1】:

您的charset 当前设置为ISO-8859-1,这是西欧字符的字符集。将其更改为 UTF-8 以支持所有 Unicode 字符:

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

【讨论】:

  • 但这不是答案,因为IE8在指定UTF-8后也有同样的问题。
  • @user1010399:您尝试输入的字符会出现什么?
  • 出现一些框而不是字符
【解决方案2】:

查看问题3867678 的答案。他们似乎说 IE 8 默认情况下没有为中文字符设置字体(尽管我认为这仅适用于某些安装)。在 CSS 中设置字体应该会有所帮助,尽管我不确定什么是最佳字体系列列表;也许像

font-family: Arial Unicode MS, PMingLiU, MingLiU, SimSun

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    相关资源
    最近更新 更多