ホームページ > Java > &#&チュートリアル > Java Web アプリケーションに UTF-8 エンコーディングを適切に実装するにはどうすればよいですか?

Java Web アプリケーションに UTF-8 エンコーディングを適切に実装するにはどうすればよいですか?

DDD
リリース: 2024-12-25 03:12:12
オリジナル
274 人が閲覧しました

How to Properly Implement UTF-8 Encoding in a Java Web Application?

Java Web アプリで UTF-8 エンコーディングを取得する

問題: 非ラテン語をサポートするための UTF-8 エンコーディングの実装テキストおよび特定の文字alphabets.

環境:

  • 開発: Windows XP
  • プロダクション: Debian
  • データベース: MySQL 5.x
  • ブラウザ: Firefox2、Opera 9.x、FF3、IE7、Google Chrome

解決策:

  1. Tomcat のserver.xml を構成します:

    • 有効にするGET パラメータの UTF-8 エンコーディング:
  2. 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>
      ログイン後にコピー
  3. JSP ページ エンコーディング:

    • JSP ページのエンコーディングを指定するweb.xml に記述するか、次のメタ タグを各ページに追加します。
  4. JDBC 接続:

    • ?useEncoding=true&characterEncoding を使用します=UTF-8接続中URL.
  5. MySQL データベースとテーブル:

    • DEFAULT CHARACTER SET=utf8 を使用してデータベースとテーブルを作成しますCOLLATE=utf8_swedish_ci.
  6. MySQL サーバー構成:

    • my.ini でdefault-character-set=utf8 を設定します。 (Windows) または my.cnf (Linux).
  7. 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート