Unicode字符串在服务器端变为垃圾

时间:2010-05-12 12:42:30

标签: asp.net unicode globalization

我有一个情况。

我在ASP.NET 2.0(C#)中有一个标签。标签应该显示一个荷兰语文本“Sähköpostiosoite”,我尝试设置Label.Text来自标记和代码隐藏,但我在浏览器响应中看到的是“Sähköpostiosoite”。

最初分配的字符串“Sähköpostiosoite”被替换为“Sähköpostiosoite”。我不知道为什么会发生这种情况你可以帮我诊断一下这个问题吗?

3 个答案:

答案 0 :(得分:0)

您需要设置HTTP标头:

Content-Type: text/html; charset=UTF-8

和/或添加HTML标记:

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

更多信息here

答案 1 :(得分:0)

你检查过HTML的编码吗?在IE中,您可以通过右键单击和更改编码子菜单中的活动编码来快速切换编码(可能还有一种方法可以在FF中执行,但我不知道)。如果更改编码(例如更改为UTF-8)修复了文本,那么您应该通过HTTP标头指定编码(可以使用web.config中的<globalization />元素或通过HTTP {{1}设置site-wde页面HTML中的元素。

有关<meta />元素的信息,请参阅此处:http://msdn.microsoft.com/en-us/library/hy4kkhe0.aspx

答案 2 :(得分:0)

我们发现了问题。

asp.net页面由我们的内部代码生成器生成。在将文件保存到磁盘时,我们没有提供编码格式。我们通过告诉代码生成器在保存文件的同时使用UTF8编码来纠正这个问题,并解决了这个问题。