【问题标题】:What is causing my browser to render an asp's &nbsp incorrectly?是什么导致我的浏览器不正确地呈现 asp 的 &nbsp?
【发布时间】:2026-01-22 04:55:02
【问题描述】:

我有一个将表格中的一些文本呈现为 html 的 asp 页面。某些文本中包含不间断空格   字符(unicode U+00A0)。浏览器自动检测字符编码为 un​​icode,这很好,但它没有正确呈现  。它将它们呈现为 �(替换字符)。当我将页面编码更改为“西方”而不是“Unicode”时,� 字符消失了。

不间断空格不应该是 Unicode 编码网页呈现的普通字符吗?这是怎么回事?

我已经使用 SQL Server 的ASCIIUNICODE 函数验证了存储在数据库中的字符是不间断空格,两者都返回 160。

另外,当我运行这段代码 sn-p String.fromCharCode(160) 它返回“”时,浏览器似乎确实理解该字符应该是一个空格。 ASP 会不会在查询这些字符和将它们写为 html 之间弄乱这些字符?

【问题讨论】:

标签: asp.net unicode character-encoding


【解决方案1】:

asp 文件以 ANSI 编码保存。将文件的编码切换为 UTF-8 解决了这个问题。我猜即使页面说它的字符集是 UTF-8,它真的不是。这就解释了为什么“西方”编码有效而“Unicode”无效。

【讨论】:

    最近更新 更多