0

我在通过 IIS 提供服务的 ASP.net (VB) 中有一个页面。

该页面基本上是英国网站的翻译。

我有:

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

在代码的顶部,并且所有字符在代码中都显示 ok。

但是在(所有)浏览器中,许多特殊的波兰语字符(例如“Ł”)都丢失了,直接替换为“L”。

这是IIS的事情吗?或者它可能是别的东西?

ETA:我刚刚注意到从 SQL 数据库中提取的波兰语文本部分在同一页面中正确显示..!奇怪的!


进一步编辑:我认为我找到了问题的基本来源,但不是解决方案:未正确显示的区域是页眉和页脚,它们是通过服务器端包含导入页面的。它接缝在此导入/注入中丢失了某种编码。导入的文件应该有某种编码头吗?

4

1 回答 1

1

这听起来像是静态内容文件中的编码问题。内容类型<meta>与文件的实际物理编码无关。我怀疑该文件保存在Codepage 1252而不是 UTF-8 中。

我建议您在支持不同编码(例如 VS 或 Notepad2。不是写字板或 Windows 记事本)的文本编辑器中打开您的 *.aspx 文件(我假设您在其中存储有问题的波兰语文本)。使用 UTF-8 编码强制保存文件(在 VS 中,转到文件 > 高级保存选项并确保选择“Unicode(带有签名的 UTF-8)”)。然后再次访问您的网站。

还要确保 Content-Type HTTP 标头也正确设置为 UTF-8。

于 2012-07-31T14:00:28.803 回答