Maison > base de données > tutoriel mysql > Comment configurer correctement le codage UTF-8 dans les applications Web Java ?

Comment configurer correctement le codage UTF-8 dans les applications Web Java ?

Patricia Arquette
Libérer: 2024-12-15 03:17:12
original
402 Les gens l'ont consulté

How to Properly Configure UTF-8 Encoding in Java Web Applications?

Comment activer UTF-8 dans les applications Web Java

Présentation

Pour prendre en charge divers des jeux de caractères comme le finnois (äöå) et le cyrillique (ЦжФ), il est crucial d'activer UTF-8 dans les applications Web Java. Cet article fournit des instructions étape par étape pour configurer Tomcat, la base de données et d'autres composants afin de garantir une gestion correcte de UTF-8.

Configuration de Tomcat

  1. Configurer server.xml pour UTF-8 Encodage :

    <Connector URIEncoding="UTF-8" ... />
    Copier après la connexion
  2. Ajouter CharacterSetFilter :

    public class CharsetFilter implements Filter {
        ...
        if (null == request.getCharacterEncoding()) {
            request.setCharacterEncoding("UTF-8");
        }
        ...
    }
    Copier après la connexion
  3. Ajouter 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>
    Copier après la connexion

JSP et HTML

  1. Configurer Web.xml pour JSP Encodage :

    <jsp-config>
        <jsp-property-group>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
    </jsp-config>
    Copier après la connexion
  2. Déclarer l'encodage de page dans JSP :

    <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
    Copier après la connexion
  3. Ajouter une méta HTML Balise :

    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
    Copier après la connexion

Connexion JDBC

  1. Configurer la source de données JDBC avec UTF-8 Encodage :

    <Resource>
        ...
        url="jdbc:mysql://...useEncoding=true&amp;characterEncoding=UTF-8"...
    </Resource>
    Copier après la connexion

Configuration MySQL

  1. Créer UTF-8 Base de données :

    CREATE DATABASE ... CHARSET=utf8 ...
    Copier après la connexion
  2. Créer des tables UTF-8 :

    CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
    Copier après la connexion
  3. Configurer le serveur MySQL pour UTF-8 :

    [mysql]
    default-character-set=utf8
    Copier après la connexion

Fonctions et procédures

  1. Déclarer les fonctions et procédures avec caractère UTF-8 Ensemble :

    CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
    Copier après la connexion

Gestion des requêtes GET

  1. Considérez le codage Latin1 dans les URL :
    Les navigateurs peuvent encoder les URL en Latin1, ce qui affecte GET paramètres.

Remarque importante

MySQL prend en charge UTF-8 avec des caractères de 3 octets. Pour les jeux de caractères étendus, envisagez d'utiliser utf8mb4 (nécessite MySQL 5.5.3 ou version ultérieure) ou les colonnes VARBINARY.

Tomcat avec Apache

Si vous utilisez le connecteur Apache Tomcat mod_JK :

  1. Activer UTF-8 dans Server.xml de Tomcat :

    <Connector ... URIEncoding="UTF-8" ... />
    Copier après la connexion
  2. Définir le jeu de caractères par défaut d'Apache :

    AddDefaultCharset utf-8
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal