我有一个复杂的XML文件,我要用Java解析它以获取某些标签内的一些文本。 这是正确完成的,但是有一些带有西里尔字符(塞尔维亚语)的行,并且在XML中以正确模式显示,当我在另一个中使用Java时,以及当我将其保存到Oracle中时,在另一个中! 我如何从xml到oracle以正确的西里尔格式详细说明并保存这种数据?感谢。
答案 0 :(得分:1)
首先:阅读http://www.joelonsoftware.com/articles/Unicode.html
第二:你没有得到“简单的字符串”,你有一个文件。其中包含字节。 给定编码表示字符串。当您以字符串形式阅读时,需要指定编码或内容会被破坏。
一旦你有了一个java.lang.String,它就是一个真正的unicode表示和独立于编码,但是当你想把那个字符串推送到数据库时,你再一次需要考虑编码,因为在某个地方某个地方,数据库必须将该字符串转换为字节以存储它。
此外:在检查编码问题时,永远不要“信任”编辑器。他们几乎总是有自动化的东西让东西工作,所以“看起来很好”的东西可能实际上是腐败的,或者只有特定编辑所做的假设才有效。