Java Web アプリで UTF-8 エンコーディングを取得する
問題: 非ラテン語をサポートするための UTF-8 エンコーディングの実装テキストおよび特定の文字alphabets.
環境:
- 開発: Windows XP
- プロダクション: Debian
- データベース: MySQL 5.x
- ブラウザ: Firefox2、Opera 9.x、FF3、IE7、Google Chrome
解決策:
-
Tomcat のserver.xml を構成します:
- 有効にするGET パラメータの UTF-8 エンコーディング:
-
CharsetFilter:
- Java アプリにすべてのリクエストとレスポンスを強制的に処理させるUTF-8.
-
このフィルターを web.xml に追加します:
<filter>
<filter-name>CharsetFilter</filter-name>
<filter-class>fi.foo.filters.CharsetFilter</filter-class>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ログイン後にコピー
-
JSP ページ エンコーディング:
- JSP ページのエンコーディングを指定するweb.xml に記述するか、次のメタ タグを各ページに追加します。
-
JDBC 接続:
- ?useEncoding=true&characterEncoding を使用します=UTF-8接続中URL.
-
MySQL データベースとテーブル:
- DEFAULT CHARACTER SET=utf8 を使用してデータベースとテーブルを作成しますCOLLATE=utf8_swedish_ci.
-
MySQL サーバー構成:
- my.ini でdefault-character-set=utf8 を設定します。 (Windows) または my.cnf (Linux).
-
MySQL プロシージャと関数:
- UTF-8 文字セットを明示的に指定します。例:
関数の作成 ... テキスト文字セットを返すutf8
GET リクエストの処理:
- デフォルトでは、URL は Latin1 でエンコードされ、非 ASCII では問題が発生します。
- これに対処するには、server.xml で URL エンコードを次のように定義します。 UTF-8.
- メタタグとリクエスト ヘッダーを使用して UTF-8 でページを読み取るようにブラウザに指示します。
GET リクエストにおける UTF-8 と Latin1:
- POST リクエストは次のように UTF-8 でエンコードされます。
- GET リクエストの場合、ページは UTF-8 として定義されていますが、一部の文字は Latin1 でエンコードされる場合があります。この結果、エンコーディングが混合され、Web アプリケーションがリクエスト パラメーターを正しく処理することが困難になります。
参照:
- http://tagov.tripod.com/i18n/i18n.html
- http://wiki.apache.org/tomcat/Tomcat/UTF-8
- http://java.sun.com/developer/technicalArticles/Intl/HT TPCharset/
- http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html
- http://cagan327.blogspot.com/2006/05 /utf-8-encoding-fix-tomcat-jsp-etc.html
- http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html
- http://jeppesn.dk/utf- 8.html
- http://www.nabble.com/request-para meter-mishandle-utf-8-encoding-td18720039.html
- http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
- http://www. utf8-chartable.de/
以上がJava Web アプリケーションに UTF-8 エンコーディングを適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。