Maison > Java > javaDidacticiel > Comment résoudre le problème du codage de caractères tronqués dans le développement JavaEE

Comment résoudre le problème du codage de caractères tronqués dans le développement JavaEE

巴扎黑
Libérer: 2017-07-21 17:03:20
original
1765 Les gens l'ont consulté

Il existe de nombreuses solutions pour gérer l'encodage des caractères sur Internet. Ici, je m'appuie sur les épaules de mes prédécesseurs et fais mon propre résumé.

À mon avis, la solution au problème du code tronqué est simplement de définir l'encodage à trois endroits :

1. Pages frontales telles que HTML et JSP

2. Les objets de requête et de réponse dans le servlet d'arrière-plan ;

 3. Fichier de configuration du serveur.

1. Lorsque l'encodage apparaît sur des pages frontales telles que HTML et JSP, vérifiez d'abord si la balise Meta d'une page frontale a l'encodage correctement défini. également l'en-tête de la page

<span style="background-color: #ffff00; color: #000000"><%</span><span style="background-color: #f5f5f5; color: #000000">@ page language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> import</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java.util.*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> pageEncoding</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">utf-8</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #ffff00; color: #000000">%><br></span>
Copier après la connexion

2. Paramètres de demande et de réponse en arrière-plan

 2-1. requête, s'il n'y a pas de paramètre de requête Encodage, alors le contenu de la requête reçue sera tronqué. À ce stade, deux situations doivent être considérées :

  S'il s'agit d'une requête Get, obtenez d'abord. les paramètres dans la requête URL, Par exemple :

String method = request.getParameter("method");
Copier après la connexion
Appelez ensuite l'objet String pour terminer la conversion de l'encodage des paramètres,

String parseMethod = new String(method.getBytes("ISO-8859-1"),"UTF-8");
Copier après la connexion
Il existe deux méthodes de construction pour les paramètres de chaîne ici : convertir le paramètre de la forme d'une chaîne en un tableau de caractères comme premier paramètre, et le deuxième paramètre est la méthode d'encodage de la chaîne convertie.

 2-1-2. S'il s'agit d'une requête Post, ajoutez directement un code pour définir l'encodage avant d'obtenir les paramètres de la requête, c'est-à-dire appelez la méthode setCharacterEncoding de l'objet requête. pour définir l'encodage :

request.setCharacterEncoding("UTF-8");
Copier après la connexion

 2.2. Une fois que le backend a terminé les opérations de logique métier et de persistance, il peut être nécessaire de générer les données du flux de réponse vers. le frontend. Si le contenu de sortie contient du chinois, vous devez définir l'encodage de l'objet de réponse. Vous pouvez appeler directement la méthode setContentType de l'objet de réponse :

response.setContentType("text/html;charset=utf-8");
Copier après la connexion
<.>

3. Paramètres du fichier de configuration du serveur

Si les deux étapes actuelles ne fonctionnent toujours pas après la configuration, vous devriez également trouver le fichier de configuration du serveur server.xml dans le dossier conf sous le répertoire d'installation de le serveur. Par exemple, le mien est E: tomcat7.0conf Paramètres :

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal