recherche
MaisonJavajavaDidacticielComment implémenter correctement le codage UTF-8 dans une application Web Java ?

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

Obtention de l'encodage UTF-8 dans les applications Web Java

Problème : Implémentation de l'encodage UTF-8 pour prendre en charge les langues non latines caractères pour le texte et spécifiques alphabets.

Environnement :

  • Développement : Windows XP
  • Production : Debian
  • Base de données : MySQL 5.x
  • Navigateurs : Firefox2, Opera 9.x, FF3, IE7, Google Chrome

Solution :

  1. Configurer le serveur.xml de Tomcat :

    • Activer l'encodage UTF-8 pour les paramètres GET :
  2. CharsetFilter :

    • Forcer l'application Java à gérer toutes les requêtes et réponses en UTF-8.
    • Ajoutez ce filtre au 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. Encodage des pages JSP :

    • Spécifiez l'encodage des pages JSP dans web.xml ou ajoutez la balise méta suivante à chaque page :
  4. Connexion JDBC :

    • Utiliser ?useEncoding=true&characterEncoding =UTF-8 en connexion URL.
  5. Base de données et tables MySQL :

    • Créer une base de données et des tables avec DEFAULT CHARACTER SET=utf8 COLLATE=utf8_swedish_ci.
  6. Configuration du serveur MySQL :

    • Définissez default-character-set=utf8 dans my.ini (Windows) ou mon.cnf (Linux).
  7. Procédures et fonctions MySQL :

    • Spécifiez explicitement le jeu de caractères UTF-8, par exemple :
      CRÉER UNE FONCTION... RETOURNE UN JEU DE CARACTÈRES DE TEXTE utf8

Gestion des requêtes GET :

  • Par défaut, les URL sont codées en Latin1, ce qui pose des problèmes avec les fichiers non-ASCII caractères.
  • Pour résoudre ce problème, définissez le codage d'URL dans server.xml comme UTF-8.
  • Demandez aux navigateurs de lire les pages en UTF-8 à l'aide de balises méta et d'en-têtes de requête.

UTF-8 vs Latin1 dans les requêtes GET :

  • Les requêtes POST sont codées en UTF-8 par navigateurs.
  • Pour les requêtes GET, bien que la page soit définie en UTF-8, certains caractères peuvent toujours être codés en Latin1. Cela entraîne un encodage mixte, ce qui rend difficile pour l'application Web de gérer correctement les paramètres de requête.

Références :

  • http://tagunov.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 mètres-mishandle-utf-8-encoding-td18720039.html
  • http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
  • http://www. utf8-chartable.de/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel