• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:波線、あるいはWAVEDASH(~)の文字化け)

波線、あるいはWAVEDASH(~)の文字化け

このQ&Aのポイント
  • 質問者はPostgreSQL+JSPで開発を行っているが、「~」(波線、あるいはWAVEDASH)という文字が文字化けして「?」と表示される問題に遭遇している。
  • 質問者は文字化け対策として「 s = new String(s.getBytes("iso-8859-1"),"Shift_JIS");」という方法を試してみたが、それでも「~」が「?」と表示される。
  • 質問者の環境はJSDK1.4.0_01、PostgreSQL(WindowsNative版 7.2.1)、Windows2000、ApacheTomcat4.0であり、本番稼動時にはRedHatLinux7.3の予定である。

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

  • ベストアンサー
  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

私のところではDBアクセスを行う個所を共通ルーチンにして  ・DBから読み込んだ直後  ・DBに書き込む直前 に文字コード変換を行うようにしています。 参考URLはOracleの例ですが、考え方は同じです。

参考URL:
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?COMMUNITYID=otn-141437&BBSID=1&NO=998&VIEW=9
urizaka
質問者

お礼

urizakaです 拝見させていただきました。 なるほど、DBから読み込むときと書き込む直前ですね。 早速組み込みます。 回答ありがとうございました。

その他の回答 (2)

回答No.2

MS932ではどうですか? 以前↓のようにやったことがあるのですが・・。 str = new String(str.getBytes("8859_1"), "MS932"); 参考URLも見てください。文字化けについて出ています。

参考URL:
http://www.dmz.hitachi-sk.co.jp/Java/Tech/i18n/unicode.html
urizaka
質問者

補足

urizakaです やってみましたが、残念ながらだめでした。 また、このやり方は仮にできたとしてもWindows環境では有効だと思うのですが、Linux等のその他の環境ではどうなのでしょう? 実は最初にも書いてますが、本番機はLinuxなもので…

  • Harry_
  • ベストアンサー率55% (36/65)
回答No.1

Shift_JIS のところを Window-31J に変えたらどうでしょうか。

urizaka
質問者

補足

urizakaです Windows-31Jにしてやってみたのですが、残念ながら変化なしでした。 うーん・・・しかし、どうして他の文字が平気なのに、こいつだけ・・・

関連するQ&A