J 2 EE中国語文字化けし攻略


一.GBKとUTF 8の比較
GBKの文字符号化は2バイトで表される.すなわち、中国語、英語の文字はいずれも2バイトで表され、中国語を区別するために最高位を1とする.
UTF-8符号化は、国際的な文字を解決するために使用されるマルチバイト符号化であり、英語では8ビット(すなわち1バイト)、中国語では24ビット(3バイト)で符号化される.英語の文字が多いフォーラムではUTF-8でスペースを節約します.
GBKにはすべての中国語文字が含まれています.
UTF-8には、世界中のすべての国で使用する文字が含まれています.
GBKは、国家規格GB 2312をベースに拡張した互換GB 2312の規格(まだ国家規格ではないようです)
UTF-8符号化された文字は、各国のUTF 8文字セットをサポートするブラウザで表示できます.
例えば、UTF 8コードであれば、IEの中国語言語サポートパッケージをダウンロードすることなく、外国人の英語IEにも中国語を表示することができる.したがって、英語が多いフォーラムでは、GBKを使用すると1文字あたり2バイトを占有し、UTF-8を使用すると1バイトしか占めません.
UTF 8は国際コードで、その汎用性は比較的に良くて、外国人もフォーラムを閲覧することができます
GBKは国コードで汎用性はUTF 8より劣るが、UTF 8が占有するデータベースはGBKより大きい~
DZフォーラムでは、多くのプラグインがGBKのみをサポートしている場合がありますが、多くのプラグインをインストールする必要があるフォーラムではGBKを使用したほうがいいですが、プラグインが少なく、特殊なユーザー群があるフォーラムではUTF 8を使用したほうがいいです.
二.なぜUTF 8を選んだのか、理由は2つあります.
1.国際化するからUTF 8を選ぶと他国の言語とうまく対応できるし、台湾の繁体字もうまくサポートできるし、GBKは難しい
2.データベースの移植性、大部分のデータベースはUTF 8に対してすべてとても良い支持があります
三.文字セットを統一する必要がある場所
1.まず、MyEclipse、JB、Eclipseなどのツールを開発し、編集可能な文字セットを設定する
2.よく知られているページ文字セットの設定
JSPヘッダで宣言:
<%@ page contentType="text/html;charset= UTF-8"%>
Jspのhtmlコードで、UTF-8を宣言します.
<META http-equiv="Content-Type"CONTENT="text/html; charset=utf-8">
3.フィルター
public class TianYaActionServlet extends ActionServlet {
 private static final long serialVersionUID = 1L;

 protected void process(HttpServletRequest request,
   HttpServletResponse response) throws java.io.IOException,
   javax.servlet.ServletException {
//   TODO Override this org.apache.struts.action.ActionServlet method 
  request.setCharacterEncoding("UTF-8");//������
  super.process(request, response);
 }
}

wml構成
<servlet-class>
   com.TianYa.common.util.TianYaActionServlet
 </servlet-class>

これにより、request.setCharacterEncoding(「UTF-8」)を常に書く必要がなくなります.
4.個別に他の文字セットに変更する必要がある場合はnew String(yourString.getBytes(「ISO-8859-1」)、「UTF-8」)を使用します.
5.Tomcatのような容器の設定
ここでformフォームのmethodに注意すると、Postとget文字セットの符号化は異なる場合があり、Tomcat 5.0以下は同じで、以上は異なる
Postはフィルタで設定できます
getは一般的にURL参照です.
Tomcat 5.0.28-公開ディレクトリwebapps
conf/server.xmlファイルの

GETメソッドのデータ取得時の符号化設定パラメータURIEncoding='GBK'を追加

JBOSS 4.0.2-公開ディレクトリserver/default/deploy(接尾辞.war)
server/default/deploy/jbossweb-tomcat 55.sar/server.xmlファイルの変更

GETメソッドのデータ取得時の符号化設定パラメータURIEncoding='GBK'を追加

7.データベース文字セットの設定
データベースの文字セットによって設定が異なります.これでは説明しません.
mySQLはデータベースのURL設定jdbcに接続できます:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8