DB2データベースがUTF-8エンコーディングを使用しています。 Μπορώναφάωσπασμέναγυαλιάχωρίςναπάθωτίποτα
チェコ:Mohu JIST sklo、neublížíマイル
セルビア語:Јамогудаједемстакло
ソース表が
ギリシャの下に、これらの線のようなUTF-8のテキストと1 columを持っています 私のJavaコードは(..無関係な部分を切り取る。)これをやっている
JDBCを使用してUTF-8データベースを照会する方法
ResultSet rs = stmt.executeQuery("SELECT SAMPLE_TEXT FROM UNICODE_TEST");
File file = new File("Unicode.txt");
BufferedWriter outFile = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF8"));
while (rs.next()) {
outFile.write(rs.getString("SAMPLE_TEXT"));
outFile.write("\n");
}
結果、私のファイル内でのすべてのソース表のようになりません。 私はこの代わりに
ギリシャ取得:ΜποÏώναφάωσπασμÎναγÏ...私±Î»Î¹Î¬Ï‡Ï‰III、ναπΠ¬Î¸Ï‰Ï「II€Î¿Ï「私±
チェコ:Mohu JAST sklo、neublÞÃマイル
セルビア語:DD°Ð¼Ð¾Ð³ÑƒÐ'аÑ~ÐμÐ'ÐμмÑÑ,акло
私は何を欠席しましたか?
varcharの代わりにnvarcharに相当するDB2を使用しているかどうかわかりません。おそらく出力がエンコードされず、Stringクラスを使用して自分でエンコードを再エンコードする必要があります(バイト配列として列を読み込む)。また、UTF-8を使用するためにdb2データベースに設定する必要のあるパラメーターがあるかどうかを調べてください。 @ Luciano。 – Luciano
データベースはまったくUTF-8です。列はvarchar(200)です。ユニコードを意識したSQLクエリツールを使用してコンテンツを取得できるので、コンテンツがUTF-8であることはわかっています。 – user754425
生成されたファイルを表示するためにどのプログラムを使用していますか? – david