【问题标题】:Different rendering of European characters on two pages of same site with same charset同一站点的两个页面上具有相同字符集的欧洲字符的不同呈现
【发布时间】:2012-12-16 19:27:54
【问题描述】:

我有一个网站应该显示法语、西班牙语字符。有一种奇怪的情况,两个页面处理它的方式完全不同。

两个页面共享同一个头文件,我在其中使用了这个元标记

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

我还在 IIS > MIME Types 中设置了全局级别的字符集:

.asp   text/html; charset=iso-8859-1   local

页面是http://aer2.es/fr/http://aer2.es/fr/method

这种不一致的原因可能是什么?

【问题讨论】:

  • 需要更多信息。第二页的数据来自哪里?
  • @Pekka 数据在 .asp 文件中。不是来自数据库。两个页面都一样。
  • 那么第二页的源代码可能是UTF-8编码的,你可以检查一下你的IDE的设置吗?

标签: html character-encoding internationalization meta-tags


【解决方案1】:

另一个文件的物理编码是 UTF-8,而不是 Windows-1252(ANSI、ISO-8859-1 ... + 其他您认为合适的错误标签)

您可以通过打开另一个文件来修复它,例如,在记事本中,点击另存为,然后从编码下拉菜单中选择 "ANSI",然后使用新保存的文件。


另一种方法是将其他页面中的元标记更改为UTF-8

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

但是,在保存更改时,您需要确保以 UTF-8 编码保存文件。

【讨论】:

  • 我建议通过将所有代码移动到 UTF-8 而不是 ISO 来修复,但你说得对。
  • @PawełDyda 当然可以,但如果到目前为止一切都配置为 Windows-1252,那可能就没有那么简单了。
  • 因为另一个文件显然是 UTF-8,如果手动将编码设置为 UTF-8,在浏览器中看起来不错,并且由于 HTTP 标头未指定编码,因此还有其他选择, 简单修复:将meta 标签中的编码名称从 iso-8859-1 更改为 utf-8。
  • @JukkaK.Korpela 这同样有效,可以快速修复,是的,但是当他将该文件保存为在元标记中包含 utf-8 时,它可以保存为 ANSI(因为他没有'不知道应该首先指定编码),他会回到第一格。我的意思是,这是认为他默认有cp1252,并从其他人或某事处获得了utf-8文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多