0

ラトビアの大文字 (Rīga) を含む XML (UTF8 エンコード) から文字列を保存する場合。Riga にはDB2 へのマクロン ( Unicode ) が付属しています。

データベースのコード ページは Unicode ではありませんが、残念ながら ISO8859-2 です。変換が行われ、この特殊な I が X'1A に置き換えられます ((ここで IBM ドキュメントで説明されています))

繰り返しますが、同じ列を使用して元の XML を再現すると、検証は次のように失敗します。

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

彼らはなぜ無効な XML 文字を代替として選択したのでしょうか?また、この種のことを行うにはどのような方法が望ましいのでしょうか?

XML の入力と出力に Java を使用しており、マクロンで I を保持する必要はありません。XML を台無しにしない、ある種の置換文字で問題ありません。データベース コード ページで表現できないすべての文字をフィルター処理することは、良い考えとは言えませんか?

4

1 に答える 1

0

列をユニコードにキャストしようとしましたか?

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