Java Web アプリケーションで UTF-8 を有効にする方法
概要
多様なサポートを行うにはフィンランド語 (äöå) やキリル文字 (ЦжФ) などの文字セットを有効にします。 Java Web アプリケーションでは UTF-8 が重要です。この記事では、UTF-8 が適切に処理されるように Tomcat、データベース、その他のコンポーネントを構成するための手順を段階的に説明します。
Tomcat の構成
server.xml を UTF-8 用に構成するエンコーディング:
<Connector URIEncoding="UTF-8" ... />
CharacterSetFilter の追加:
public class CharsetFilter implements Filter { ... if (null == request.getCharacterEncoding()) { request.setCharacterEncoding("UTF-8"); } ... }
CharsetFilter を追加web.xml:
<filter> <filter-name>CharsetFilter</filter-name> <filter-class>fi.foo.filters.CharsetFilter</filter-class> ... </filter> <filter-mapping> <filter-name>CharsetFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
JSP と HTML
Web.xml の構成JSP用エンコーディング:
<jsp-config> <jsp-property-group> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
JSP でのページ エンコーディングの宣言:
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
HTMLメタを追加するタグ:
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
JDBC 接続
UTF-8 を使用した JDBC データソースの構成エンコーディング:
<Resource> ... url="jdbc:mysql://...useEncoding=true&characterEncoding=UTF-8"... </Resource>
MySQL 構成
UTF-8 を作成データベース:
CREATE DATABASE ... CHARSET=utf8 ...
UTF-8 テーブルの作成:
CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
MySQL サーバーを構成するUTF-8:
[mysql] default-character-set=utf8
関数とプロシージャ
関数とプロシージャの宣言UTF-8文字を含む設定:
CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
GET リクエストの処理
重要な注意
MySQL は 3 バイト文字の UTF-8 をサポートします。拡張文字セットの場合は、utf8mb4 (MySQL 5.5.3 以降が必要) または VARBINARY 列の使用を検討してください。
Tomcat と Apache
Apache Tomcat mod_JK を使用する場合コネクタ:
Tomcat のサーバーで UTF-8 を有効にする。xml:
<Connector ... URIEncoding="UTF-8" ... />
Apache を設定するデフォルト文字セット:
AddDefaultCharset utf-8
以上がJava Web アプリケーションで UTF-8 エンコーディングを適切に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。