2011-10-24 22 views
0

データベース(Oracle 10g)のキャラクタセットは、アラビア文字を格納するためにISO-8859-6(AR8ISO8859P6)に設定されています。 データベースにクエリを実行すると、JDBCはデータをデータベースの文字セットからUnicodeに変換します。このUnicode変換の文字の一部が失われているので (に翻訳?)OCIおよび薄いの両方のための 同じ行動... Javaで jdbcユニコード変換の問題

は、任意のUnicode変換を行わず(データベース形式のデータを取得するための任意の解決策はあります)? データベース形式(エンコーディング)でOracleからデータを取得できるドライバはありますか?

おかげ

+0

setString/getStringを使用すると、Oracle内部エンコーディング(ISO-8859-6)からJavaエンコーディング(UTF-16)への変換は、JDBCドライバによって透過的に行われることになっています。一部の文字が失われたことをどのように検出したか教えてください。 –

答えて

0

は、私は、Unicodeするために、任意の変換が失敗する可能性があることを疑います。しかし、変換はからにUnicodeが失敗する可能性があります。これは、データを格納するとき、または可能性が高い出力をある端末またはUIに格納するときに当てはまります。

そうでない場合は、次の手順を実行してください。

+0

お返事ありがとうございます。 –