0

XML を CLOB (Oracle 10g) として格納するテーブルがあります。

これらの XML には通常、いくつかの特殊文字が含まれています

e.g `FDEAÂ’s`

SQLDeveloper を使用してこのレコードをクエリし、XML をメモ帳に UTF8 エンコードとして保存すると、特殊文字が表示されます。

しかし、JDBC を介して同じクエリを実行しようとすると、次のいずれかになります。またはそれらの文字の空白。

以下のリンクに記載されている複数のオプション (CharacterSet などを使用) を試しましたが、解決策が見つかりませんでした。

Java 1.5 および 1.6 でもこれを確認しましたが、それでも問題は解決しません。

4

1 に答える 1

1

私は過去に同じ問題に直面しました。ここにいくつかのポインタがあります:

1) nls_lang パラメータがまだ設定されていない場合は、プログラムで設定します。

Locale.setDefault(Locale.<your locale here>);

2)環境変数にエンコーディングをUTF8に設定してみてください(結果をファイルに出力する場合)

java -Dfile.encoding=UTF-8 … com.x.Main

3) JDBC からの「選択」について言及したように、Eclipse の設定を確認してください。

Window--> Workspace --> Text File encoding --> Other --> UTF8

4) SQL-Developer はさまざまな特殊文字を表示できるほどスマートですが、メモ帳/テキストパッド/notepad++ などのツールは、特殊文字の表示を開始する前に適切な設定が必要です。

5) クラスパスに orai18.jar が必要かどうかを確認します。この jar は、CLOB および Oracle 型などに関連するサポートに必要です。

于 2016-04-29T15:52:31.617 に答える