[Java] Servletとの非同期通信(Ajax)で文字化けした時の対処方法
1 min read
現象
㈱
が?
に文字化けした。 (株)
「ホゲホゲ㈱」⇒「ホゲホゲ?」
環境
- 文字コードが
Shift-JIS
- 発生は、IE のみ
ちなみに文字コードがUTF-8
であれば問題なかった。
解決方法
現象としては、文字コードをWindows-31J
にすると、IE だけ文字化けする。
調べてみると、IE はWindows-31J
でないと駄目みたい(IE9 でもこの仕様っぽい)で、IE に対応するには文字コードの指定をcsWindows31J
してやる必要がある。
以下のコードを Servlet に追加。
response.setContentType("text/html; charset=csWindows31J");