【发布时间】:2015-06-13 10:03:52
【问题描述】:
在JSP文件中,源代码为
|1€3|<%="\u0031\u0080\u0033" %>|
页面上的结果是:
|1€3|13|
为什么欧元符号表示不同?
【问题讨论】:
标签: html jsp unicode utf-8 euro
在JSP文件中,源代码为
|1€3|<%="\u0031\u0080\u0033" %>|
页面上的结果是:
|1€3|13|
为什么欧元符号表示不同?
【问题讨论】:
标签: html jsp unicode utf-8 euro
0x80–0x9F 范围内的 HTML 数字字符引用实际上并不对应于字符 U+0080–U+009F。相反,它们指的是从windows-1252 编码映射到字节 0x80–0x9F 的字符。
这是浏览器使用 Unicode 之前的一个奇怪的历史产物。 HTML5 对其进行了标准化,尽管它是无效的解析器,但 required 以这种方式解析它。这在 XML/XHTML 中不会发生。
所以\u0080 给了你实际的字符 U+0080,你看不到它,因为它是一个不可见的控制字符,但是&#x0080; 给你代码页 1252 字节 0x80,它是 U+20AC Euro Sign。
【讨论】: