【发布时间】:2013-07-17 02:28:15
【问题描述】:
我刚刚使用带有 ISO-8859-1 的 Eclipse 编码编写了一个 java 文件。 在这个文件中,我想创建一个这样的字符串(以便创建 XML 内容并将其保存到数据库中):
// <image><img src="path_of_picture"></image>
String xmlContent = "<image><img src=\"" + path_of_picture+ "\"></image>";
在另一个文件中,我得到这个字符串并使用这个构造函数创建一个新字符串:
String myNewString = new String(xmlContent.getBytes(), "UTF-8");
为了被 XML 解析器理解,我的 XML 内容必须转换为:
<image><img src="path_of_picture"></image>
不幸的是,我找不到如何编写 xmlContent 以在 myNewString 中获得此结果。 我尝试了两种方法:
// First :
String xmlContent = "<image><img src=\"" + content + "\"></image>";
// But the result is just myNewString = <image><img src="path_of_picture"></image>
// and my XML parser can't get the content of <image/>
//Second :
String xmlContent = "<image><img src=\"" + content + "\"></image>";
// But the result is just myNewString = <image>&lt;img src="path_of_picture"&gt;</image>
你有什么想法吗?
【问题讨论】:
-
您使用的是哪个 xml 解析器?我认为字符串中任何形式的“”符号都不会被任何一个解析器解析。
-
这与文本编码有什么关系? & 字符是 ASCII,所以它在 UTF-8 和 iso-8859-1 中的编码是一样的,不会有混淆的可能。
-
您的问题更可能与字符转义有关,而不是与编码有关。你知道CDATA吗?
-
我是这么想的,但是当我把它保存到我的数据库中时,文本的值与原始String不同。
-
我不知道 CDATA。我试试看
标签: java utf-8 iso-8859-1