0

从包含拉脱维亚首都 (Rīga) 的 XML(UTF8 编码)中保存一些字符串时。Riga 将这个 I 与 macron ( Unicode ) 一起提供给 DB2。

数据库代码页不是 Unicode,但不幸的是 ISO8859-2。发生转换,这个特殊的 I 被 X'1A 取代((在此处解释 IBM 文档))

同样,当我使用相同的列来重现原始 XML 时,我的验证失败了:

An invalid XML character (Unicode: 0x1a) was found in the element content of the document.

他们为什么选择无效的 XML 字符作为替换,做这种事情的首选方法是什么?

我们使用 Java 进行 XML 输入和输出,不需要用宏保存 I,某种替换字符就可以了,一种不会与 XML 混淆的字符。过滤所有在数据库代码页中不可表示的字符不是一个好主意吗?

4

1 回答 1

0

您是否尝试将列重新转换为 unicode?

CAST(column AS VARCHAR(255) CCSID UNICODE )
于 2016-10-07T16:53:42.990 回答