Solutions aux objets Java tronqués : 1. Lors du téléchargement de fichiers tronqués, l'en-tête de réponse de téléchargement et le nom de fichier doivent être codés avec URLEncoding pour la transmission HTTP ; 2. Pour les fichiers tronqués entre Java et la base de données, utilisez directement Unicode et To ; interagir avec la base de données, vous pouvez le spécifier dans l'URL du pilote.
Solution au code tronqué des objets Java :
Code tronqué entre les paramètres jsp et page
Spécifiez de force la méthode d'encodage de la requête :
request.setCharacterEncoding("UTF-8");
Si la sortie jsp vers la page est tronquée :
response.setCharacterEncoding("UTF-8");
Ou configurez le filtre de filtre de servlet dans web.xml (uniquement valide pour le mode POST, invalide pour le mode GET) :
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>net.vschool.web.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Modifier le fichier de configuration Tomact, server.xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" URIEncoding="UTF-8">
Traitement de l'URL :
<a href="TestAction.do?name=<%=java.net.URLEncoder.encode("你好","UTF-8")%>" ></a>
Code tronqué du téléchargement du fichier :
La clé est l'en-tête de réponse lors du téléchargement ; le nom du fichier doit être codé avec URLEncoding pour la transmission HTTP.
response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(fileName,"utf-8"));
Obtenir la méthode tronquée :
String args = new String(strCn.getBytes("ISO-8859-1"),"UTF-8");
Méthode de publication tronquée :
Juste request.setCharacterEncoding("UTF-8");
.
Caractères tronqués entre Java et la base de données
Utilisez directement Unicode pour interagir avec la base de données, qui peut être spécifié dans l'URL du pilote, tel que le pilote MySQL :
jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8
Recommandations d'apprentissage associées : Tutoriel de base Java
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!