トップ «前の日記(2005-10-16 [日]) 最新 次の日記(2005-10-18 [火])» 編集

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2005-10-17 [月] [長年日記]

[Programming] 久しぶりにサーバサイドJava

日本語の文字化けについてど忘れしていたのでメモ。

  • 「〜」などが「?」になる

UnicodeからcontentType属性で指定したコードに変換することができていない場合。InputStreamReaderなどを使ってエンコーディングを指定しましょう。

  • Windowsの機種依存文字が文字化ける

エンコーディングに「Windows-31J」を指定しましょう。またJ2SE 1.4まではShift_JISがMS932のエイリアスになってるいます。サーバサイド側ではWindows-31Jで統一しといて、WebブラウザにHTMLとして吐き出すときにShift_JISにしておくと、いろんなWebブラウザに対応できて便利です。

  • フォームからの入力が文字化ける

文字列がISO-8859-1として扱われている場合。request.setCharacterEncoding("Windows-31J")のようにエンコーディングを指定しておきます。setCharacterEncodingが対応してないようであれば、new String(string.getBytes("iso-8859-1"), "Windows-31J")のようにします。


Copyright © 2004-2008 SewiG All rights reserved.