Maison >base de données >tutoriel mysql >Comment configurer correctement le codage UTF-8 dans les applications Web Java ?
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
Configurer server.xml pour UTF-8 Encodage :
<Connector URIEncoding="UTF-8" ... />
Ajouter CharacterSetFilter :
public class CharsetFilter implements Filter { ... if (null == request.getCharacterEncoding()) { request.setCharacterEncoding("UTF-8"); } ... }
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>
JSP et HTML
Configurer Web.xml pour JSP Encodage :
<jsp-config> <jsp-property-group> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>
Déclarer l'encodage de page dans JSP :
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
Ajouter une méta HTML Balise :
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
Connexion JDBC
Configurer la source de données JDBC avec UTF-8 Encodage :
<Resource> ... url="jdbc:mysql://...useEncoding=true&characterEncoding=UTF-8"... </Resource>
Configuration MySQL
Créer UTF-8 Base de données :
CREATE DATABASE ... CHARSET=utf8 ...
Créer des tables UTF-8 :
CREATE TABLE ... CHARSET=utf8 COLLATE=utf8_swedish_ci ...
Configurer le serveur MySQL pour UTF-8 :
[mysql] default-character-set=utf8
Fonctions et procédures
Déclarer les fonctions et procédures avec caractère UTF-8 Ensemble :
CREATE FUNCTION `pathToNode` RETURNS TEXT CHARACTER SET utf8 ...
Gestion des requêtes GET
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 :
Activer UTF-8 dans Server.xml de Tomcat :
<Connector ... URIEncoding="UTF-8" ... />
Définir le jeu de caractères par défaut d'Apache :
AddDefaultCharset utf-8
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!