gpt4 book ai didi

java - ASCII 字符读取问题 : Euro symbol coming empty

转载 作者:行者123 更新时间:2023-11-30 06:02:28 24 4
gpt4 key购买 nike

我如何读取€从xml文件到java

给我一个错误。我要打印 €

org.xml.sax.SAXParseException; systemId: file:/C:/Users/stikkoo/Desktop/product.xml; lineNumber: 9; columnNumber: 18; The character reference must end with the ';' delimiter.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)

我的 XML 片段:

<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff id="1001">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>100000</salary>
</staff>
<staff id="&#128;">
<firstname>low</firstname>
<lastname>yin fong</lastname>
<nickname>fong fong</nickname>
<salary>200000</salary>
</staff>
</company>

最佳答案

首先,€ 不是有效的 ASCII 字符。真正的 ASCII 是一个 7 位字符集,比 € 符号的发明早了 30 多年。

接下来,LATIN-1 (ISO/IEC 8859-1) 中也不存在 €。如果您需要 8 位 ISO/IEC 8859 字符集中的 €,则需要使用 ISO-8859-15。代码为 0xA4164 十进制。

在 Unicode 中,€ 的代码点是 U+20AC。可以使用十六进制字符实体语法在 XML 中编写;

注意:

  • 十六进制数字不区分大小写。
  • 您也可以使用十进制字符实体语法; ,但我更喜欢十六进制形式,因为它更符合 Unicode 代码图表。

或者,您可以使用 XML/HTML 命名字符实体 ... 假设您的 XML 解析器理解它。


最后,由于您已将 UTF-8 指定为 XML 文档的编码,因此您应该能够将文字 € 字符粘贴到文档中......假设您正在编辑它支持 UTF-8 的编辑器。 (但这也有缺点......)


(在 XML id 中可以使用的字符有限制,但允许使用 € 字符。)


郑重声明,您尝试在文档中使用的 € 字符实体实际上指的是非打印 C1 控制字符。

关于java - ASCII 字符读取问题 : Euro symbol coming empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54865879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com