Dans Java Web Project, la méthode de résolution du code brouillé chinois est résumé comme suit
Le premier cas: Appeler la page JSP pour afficher le code brouillé en chinois <br /> Description du problème: Appel de la page JSP via le navigateur, le code brouillé apparaît dans le contenu chinois affiché dans le navigateur.
Solution: Tout d'abord, confirmez que lorsque ce JSP enregistre le contenu du fichier dans l'éditeur, il utilise le format d'encodage de UTF-8, puis ajouter <% @ pageencoding = "utf-8"%> au début de la page JSP pour résoudre ce problème de chinois brouillé chinois brouillé
Le deuxième cas: l'appel de la page servlet montre le code brouillé
Description du problème: Lors de l'appel du servlet via le navigateur, le contenu affiché dans le servlet semble brouillé.
Solution: Avant que le servlet n'utilise l'objet de réponse pour sortir, exécutez la réponse.setContentType ("text / html; charset = utf-8"); Définissez le codage du contenu de sortie sur UTF-8.
Le troisième cas: code brouillé du formulaire de poste
Description du problème: Lorsque les paramètres sont soumis au JSP ou au servlet correspondant via les éléments de formulaire dans JSP, HTML ou servlet, les paramètres reçus dans le JSP ou le servlet reçu sont affichés en chinois.
Par exemple:
Soumettez le code JSP comme suit:
<% @ Page Language = "Java" Pageencoding = "UTF-8"%> <html> <adread> <Title> Entrez le formulaire </ Title> </ Head> <body> <form Id = "InputForm" Name = "InputForm" Method = "Post" Action = "Display.jsp"> Username: <intrut type = "Text" Name = "Username" /> <br/> Mord-parole: <put type = "Name =" Username "/> <br/> MOTSY: <put-type =" Notord name = "mot de passe" /> <br/> <input type = "soumi" name = "soumi" value = "soumis" // </ form> </body> </html>
Le code JSP qui reçoit des paramètres est le suivant:
<% @ Page Language = "Java" Pageencoding = "UTF-8"%> <html> <adread> <TilTe> Recevoir le formulaire </TITLE> </ head> <body> <% INSERT Request.SetcharAtterencoding ("UTF-8"); %> Nom d'utilisateur: <% = request.getParameter ("nom d'utilisateur")%> <br/> Mot de passe: <% = request.getParameter ("mot de passe")%> <br/> </ body> </html>SOLUTION: Avant de recevoir les paramètres du post soumis, utilisez Request.Setcharacterencoding ("UTF-8") pour définir le format de contenu des paramètres reçus en codage UTF-8. Voir le contenu d'insertion dans le formulaire de réception. Bien sûr, il est préférable d'utiliser des filtres chinois pour ce type de problème brouillé.
Le quatrième cas: la méthode URI transmet les paramètres brouillés
Description du problème: Lors du passage des paramètres à l'aide d'un formulaire, vous pouvez passer par le post ou obtenir. Le formulaire n'est pas applicable. Vous pouvez également transmettre des paramètres à l'aide d'une méthode de liaison. Cette méthode de passage des paramètres consiste essentiellement à passer des paramètres comme GET. Les paramètres passés dans cette méthode peuvent également sembler brouillés lorsqu'ils apparaissent en chinois.
comme:
Copiez le code comme suit: <a href = "/ webproject / display.jsp? Username = zhang san & mot de passe = 123"> Afficher le nom d'utilisateur et le mot de passe </a>
Solution: L'essence du problème est que la méthode de codage par défaut du contenu du paramètre transmise par Get est demandé ISO8859-1, et en utilisant Request.SetcharAtterencoding ("UTF-8") ne peut pas résoudre le problème. Pour résoudre ce problème, modifiez le fichier de configuration du serveur Tomcat. Modifiez la ligne 43 du fichier conf / server.xml dans le répertoire Tomcat:
Avant la modification:
<Connecteur Port = "8080" ProtoCol = "HTTP / 1.1" MaxThreads = "150" ConnectionTimeout = "200000" redirectport = "8443" />
Contenu modifié:
<Connecteur Port = "8080" ProtoCol = "http / 1.1" maxthreads = "150" ConnectionTimeout = "200000" redirectport = "8443" uriencoding = "utf-8" />
Cela peut résoudre ce type de problème brouillé.
La cinquième situation:
Description du problème: Lorsque vous utilisez certaines bibliothèques de classe ou des cadres, afin d'atteindre l'internationalisation du contenu de la page, le fichier de propriétés correspondant doit être rédigé. Le contenu chinois dans le fichier Properties semblera également brouillé lorsqu'il est affiché.
Solution: Ce problème brouillé peut être résolu par l'outil natif2ascii dans JDK. Utilisez la commande suivante:
Copiez le code comme suit: Native2ascII -coding utf-8 display.properties display_zh_cn.properties
La raison du problème brouillé est que le compilateur Java ne peut gérer que les fichiers de caractères codés par Latin-1 ou Unicode.
Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.