2012-07-31 33 views
0

我在通过IIS提供的ASP.net(VB)中有一个页面。通过IIS提供后缺少(替换)的波兰字符

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

我:

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

在代码的顶部,所有的字符显示的代码行。然而,在(全部)浏览器中,很多特殊的波兰字符(如'Ł')缺失,直接用'L'替换。

这是一个IIS的东西?或者它可能是别的东西?

ETA:我刚刚注意到从SQL数据库中抽出的波兰文本部分正在同一页面内正确显示。奇!


进一步编辑: 我已经找到了问题的基本来源,我想,但不是一个解决方案:即无法正确显示在页眉和页脚,它们通过服务器导入页面 的地区,侧面包括。 它在此导入/注入中正在丢失某种编码。 导入的文件是否应具有某种编码头?

回答

1

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

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

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

+0

看起来你非常接近David,因为事实证明,页眉和页脚是根据请求导入的SSI在IIS中的.shtml文件。 这些文件是(我想)最初创建在记事本中并保存为ANSI类型。虽然这在英文网站上运行良好,但它不适用于波兰语字符。 所以我重新将它们保存为UNC-8,并且都很好看。 – 2012-07-31 14:09:06