代码之家  ›  专栏  ›  技术社区  ›  this. __curious_geek

unicode字符串在服务器端转换为垃圾

  •  0
  • this. __curious_geek  · 技术社区  · 14 年前

    我有情况。

    我在ASP.NET 2.0(c)中有一个标签。标签应该显示荷兰语文本,即“s_hk_postiosite”,我尝试设置标签。标记和代码隐藏的文本,但我在浏览器响应中看到的是“s_•hk_¶postiosite”。

    最初分配的字符串“s_hk_postiosoite”被替换为“s_·hk_¶postiosoite”。我不知道为什么会这样 你能帮我诊断一下这个问题吗??

    3 回复  |  直到 14 年前
        1
  •  0
  •   Martin Wickman    14 年前

    您需要设置HTTP头:

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

    和/或添加HTML标记:

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

    更多信息 here .

        2
  •  0
  •   Daniel Renshaw    14 年前

    你检查过HTML的编码吗?在IE中,您可以通过右键单击并从“编码”子菜单更改活动编码来快速在编码之间切换(在FF中也可能有这样的方法,但我不知道)。如果更改编码(例如到UTF-8)可以修复文本,则应通过HTTP头指定编码(可以使用 <globalization /> web.config或通过http的元素 <meta /> HTML页中的元素。

    有关 <全球化 元素: http://msdn.microsoft.com/en-us/library/hy4kkhe0.aspx .

        3
  •  0
  •   this. __curious_geek    14 年前

    我们发现了问题。

    ASP.NET页由内部代码生成器生成。将文件保存到磁盘时未提供编码格式。我们通过告诉代码生成器在保存文件时使用utf8编码来解决这个问题。