- PR -

JSPの文字化けについて

投稿者投稿内容
tei
会議室デビュー日: 2002/09/10
投稿数: 2
投稿日時: 2002-09-11 14:45
そうではないです。
 これはTomcatでの文字のコード変換メソッドです。
サンプルも書きます。
UnsupportedEncodingExceptionは発生しないはずです。


<%@ page contentType="text/html; charset=Shift_JIS" %>
<%!
public String toUnicode(String s)
throws java.io.UnsupportedEncodingException {
return (new String(s.getBytes("8859_1"), "JISAutoDetect"));
}
%>
<HTML>
<BODY>
<%
String comment = toUnicode(request.getParameter("comment"));
%>
入力されたコメントは<P>
[<%= comment %>]<P>
です。
</BODY>
</HTML>
  

 
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-09-11 15:05
蛇足ながら補足。

Shift_JIS や JISAutoDetect は、機種依存文字をうまく扱えない場合があります。
機種依存文字を使いたい場合は Windows-31J を使いましょう。

ただし Windows-31J を使うと EUC-JP や ISO-2022-JP との相性が悪くなることもあります。DB のエンコーディングも Unicode か「シフトJIS」にするのが無難です。

加えて、JISAutoDetect も、短い文字列の場合に自動変換に失敗する可能性があります。
最近のブラウザは私の知る限りページの文字コードと同じ文字コードで返してきますので、できるだけ使わないようにするのが無難でしょう。

スキルアップ/キャリアアップ(JOB@IT)