• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:"京"の文字化けで困っています。)

【解決方法】S-JISのCSVファイルをEUCに変換してデータベースに登録する際の文字化けの問題

このQ&Aのポイント
  • Postgres 7.2.4 サーバを使用し、ECPGにてS-JISのCSVファイルをEUCに変換してデータベースに登録する際に、文字化けの問題が発生しました。
  • Windowsのアプリを使用してODBC接続でデータを表示させると、EUCの「京」の漢字が文字化けし、「東京支店」が「東=支店」と表示されます。
  • 原因として、EUCの「京」の文字がS-JISの文字コード表に存在しないため、ODBCが正しく変換していない可能性が考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • pcb39431
  • ベストアンサー率84% (16/19)
回答No.1

>S-JISの文字コード表にない "京"のS-JISは、"8B9E"だと思うのですが… ところで、CSVファイルをメモ帳やExcelで開いとき、"京"はどのようになっていますか? ここで正しく表示されているなら、EUCに変換する際にミスをしていると考えられます。 また、正しく表示され、EUCにも変換出来ているなら、Windowsアプリ側の問題となります。 メモ帳などで表示されないのなら、EUCに変換出来なくて当然ということになります。 それから、Windows側のOSは何ですか。 OSにより、フォントのバージョンに違いが有ります。それが関係している可能性も考えられます。 WindowsXPではダメでも、Windows7では正しく表示されるかも知れません。 そのあたりをもう一度見直されてはどうでしょうか?

chiro1982
質問者

お礼

ご回答ありがとうございます。EUCに変換する際にミスしておりました。CSEというツールでDBを見たときには正常に表示されていたのですが、S-JIS-EUC変換後の文字コードをHEXで出力したところ、1HEXずれて設定されていました。S-JIS-EUC変換のロジックが間違っていたようです。順をおって確認していくということが大事だと勉強になりました。ご回答ありがとうございました。

その他の回答 (1)

  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.2

Windowsのツールにpsqleditというのがあります。 Linuxのpsqlの様なツールです。 psqleditにてsqlを発行して正常に"京"の文字が表示されれば、 PosgreSQL内にはEUCコードで正常に格納されています。 というか、psqleditの文字コード変換はほぼ100%信頼できますね。 PostgreSQL内に何が格納されているかを、まず確認してみてはどうでしょうか。

chiro1982
質問者

お礼

ご回答ありがとうございます。 psqleditというツールがあるのですね。 今回は使用しませんでしたが、次回問題がおきたときに使用してみたいと思います。 ありがとうございました!

関連するQ&A