【问题标题】:Error while parse an XML with cyrillic serbian chars anda save into DB使用西里尔塞尔维亚字符解析 XML 并保存到 DB 时出错
【发布时间】:2014-12-12 07:29:28
【问题描述】:
我有一个复杂的 XML 文件,我必须用 Java 对其进行解析以获取一些标签中的一些文本。
这是正确完成的,但是有些行带有西里尔字符(塞尔维亚语)并且在 XML 中以正确的模式出现,当我在另一个中使用 Java 获取它时,当我将它保存到 Oracle 中时,在另一个中!
如何以正确的西里尔文格式详细说明和保存此类数据,从 xml 到 oracle?谢谢。
【问题讨论】:
标签:
java
xml
oracle
cyrillic
【解决方案1】:
首先:阅读http://www.joelonsoftware.com/articles/Unicode.html
第二:你没有得到一个“简单的字符串”,你有一个文件。其中包含字节。 给定编码代表一个字符串。当您将其作为字符串读入时,您需要指定编码,否则内容将被损坏。
一旦你有了一个 java.lang.String,它就是一个实际的 unicode 表示形式并且独立于编码,但是当你想将该字符串推送到数据库时,你再次需要考虑编码,因为在某个地方,数据库必须将该字符串转换为字节来存储它。
另外:在检查编码问题时,永远不要“信任”编辑器。他们几乎总是有自动的东西来使东西工作,所以“看起来不错”的东西实际上可能已经损坏或仅在特定编辑器做出的假设下才有效。