- - PR -
文字化けについて
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-05 12:22
みなさん色々ありがとうございます。
JDK1.3を使用しており、 str.getBytes("MS932") でも文字化けは回避できませんでした。 http://www.gimlay.org/~javafaq/S146.html より、 >この問題を根本的に解決する方法は今のところなく、正しい処理が行われるよ >うに、適時文字コード変換を行うしかありません。 結局こういうことで、 http://java-house.etl.go.jp/ml/archive/j-h-b/014452.html に書かれているように文字コード変換フィルタを作成するしかないのでしょうか? これの意味も余り良くわからないのですけど・・・・。 [ メッセージ編集済み 編集者: JBOY 編集日時 2003-08-05 12:24 ] | ||||||||
|
投稿日時: 2003-08-05 12:40
okuさんが
と書かれていますが、試されましたか? 皆さん書かれているようにstrをどのように構築したかによります。 | ||||||||
|
投稿日時: 2003-08-05 12:54
にも関連することですが、strの段階で文字列が正しく構築されているんですよね。 デバッガ等で、strの中身を確認し、この時点で文字化けしていれば、コード変換フィルタなんか作っても無駄だと思いますよ。 | ||||||||
|
投稿日時: 2003-08-05 14:11
再びこんにちは。
なるほど、読み込み時のUNICODEへのマッピングが正しくないようですね。 とりあえず、こうしてみるとどうでしょう?
これで正しく出力されるようであれば、 http://java-house.etl.go.jp/ml/archive/j-h-b/014452.html で出ている変換プログラムも意味があると思います。 | ||||||||
|
投稿日時: 2003-08-05 14:27
byte[] buf = str.getBytes("SJIS");
を実行したところ、化けずに正常に出来ました。 JavaのShift_JISはMS932またはSJISの別名として定義されていて JDK1.3・・・MS932 JDK1.4・・・SJIS となっていたんですね。 文字化けは回避できたのですが、MS932とかSJISとかWindows-31Jとかの違いが良くわからないのでもう少し勉強してみようと思います。 ご協力していただき、本当にありがとうございました。 | ||||||||
|
投稿日時: 2003-08-05 18:48
@IT会議室をWindows-31Jで検索するだけでも結構な情報がありますよ。
| ||||||||
