【发布时间】:2012-05-08 07:25:39
【问题描述】:
我正在从数据库中返回一些数据,这些数据是使用许多不同的方法输入的,通常是从 word 中复制和粘贴的。
我没有尝试手动对每个最后一个字符进行 HtmlEncode 编码,而是使用页面上的内容类型来加载不同的字符集。目前我没有做任何事情来覆盖任何默认的内容类型。如果我在本地运行,内容类型显示为 utf-8 并出现“外来”字符。上传后,内容类型恢复为 ISO-8859-1,“外来”字符显示为问号(有两种......)。
然后我覆盖了使用 Response.Charset = "utf-8"; 返回的字符集,尽管响应标头正确显示 utf-8,但我仍然得到问号来代替正确的字符。请看下面的图片:
本地页面
本地页眉
外部页面(注意两种问号)
外部页眉
我关注了http://htmlpurifier.org/docs/enduser-utf8.html,但除了需要 UTF-8 之外,我找不到任何解决方案。
【问题讨论】:
-
页面上是否有元内容类型元素?
-
是的,设置为相同的 utf-8。
-
浏览器将代码页显示为什么?
-
对不起,你能稍微扩展一下,你的意思是源代码是什么样的?如果是这样,它在源代码中具有相同的问号和问号菱形。
-
我的意思是浏览器将页面解释为什么-您更改浏览器中的编码并查看会发生什么(您还应该能够看到浏览器当前使用)。
标签: c# asp.net character-encoding http-headers content-type