【发布时间】:2020-04-23 19:02:39
【问题描述】:
小问题:给定String str = "????"; 输出一个包含<tag>????</tag> 而不是<tag>&#128557;</tag> 的XML 文件
我正在尝试在 JAVA 中创建一个 XML 文件,该文件可能在标签中包含普通文本或表情符号。 XML 文件采用 UTF-8 编码,因此在 Notepad++ 中打开时,您可以在标签中看到普通文本和表情符号。在测试我的代码时,不知何故,表情符号被翻译为 xxxxx;。
示例代码:
String str = "????";
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element root = document.createElement("tag");
root.appendChild(document.createTextNode(str));
document.appendChild(root);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.transform(new DOMSource(document), new StreamResult(new File("test.xml")));
【问题讨论】:
-
在这里暗中刺伤,但您确定您也保存 UTF-8 格式的文件吗?
-
@Michal 这些链接都与这个问题无关。