JSP中的特殊字符表示问题

时间:2015-04-08 12:35:12

标签: html jsp unicode utf-8 euro

在JSP文件中,源代码是

|&#x0031;&#x0080;&#x0033;|<%="\u0031\u0080\u0033" %>|

页面上的结果是:

| 1€3 | 13 |

为什么欧元符号表示不同?

1 个答案:

答案 0 :(得分:2)

0x80-0x9F范围内的HTML数字字符引用实际上对应于字符U + 0080-U + 009F。相反,它们引用从windows-1252编码映射到字节0x80-0x9F的字符。

这是浏览器执行Unicode之前的一个奇怪的历史人工制品。 HTML5排序标准化,因为虽然它的无效解析器required以这种方式解析它。这在XML / XHTML中不会发生。

因此\u0080会为您提供实际的字符U + 0080,您无法看到它,因为它是一个不可见的控制字符,但&#x0080;为您提供代码页1252字节0x80 ,这是U + 20AC欧元符号。