Servlet
protected void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//入力データを取得するとき
request.setCharacterEncoding("Windows-31J"); // ServletAPI 2.3 で導入されたもの …@
String text1 = request.getParameter("Text1");
//直接htmlを出力するとき
response.setContentType("Text/html; charset = Windows-31J"); …A
PrintWriter out = response.getWriter();
out.println("<html><head> ");
…
@:クライアントブラウザから送信されたキャラクタが何で記述されているかを明示する事により、正しくユニコード変換する為のもの
A:クライアントブラウザへ送信する時の変換先キャラクタを指定するもの。
JSP
<%@ page language="java"
contentType="text/html; charset=Windows-31J" …B
pageEncoding="Windows-31J" %> …C
<jsp:useBean id="testBean" class="testPackage.TestBean" scope="request" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> …D
<html>
B:クライアントブラウザへ送信する時の変換先キャラクタを指定するもの。
この例では、APサーバー側で、Windows-31J エンコーディングをした後、クライアント側へ送信している。
C:JSPファイルをコンパイルする時には、一度javaファイルに変換する。この時JSPファイル自体が記述されているキャラクタを明示的に指定することにより、ただしくユニコードに変換できるようにする為のもの。
D:クライアントブラウザ側で、受信したキャラクタコードが何であるかを正しく認識する事により、正しくエンコードできるようにする為のもの。