Le problème chinois est un problème souvent rencontré dans les applications.
Cela impliquera des opérations de décodage de caractères. Dans nos applications, nous utilisons souvent new String(fieldType.getBytes("iso-8859-1"), "UTF-8"); Cependant, cette méthode est limitée par l'environnement spécifique de l'application, et des caractères chinois tronqués apparaissent souvent lorsque l'environnement de déploiement de l'application change.
Voici une solution qui peut être utilisée dans n’importe quel environnement de déploiement d’applications. Cette méthode comporte deux étapes :
1. Utilisez la méthode escape(encodeURIComponent(fieldValue)) pour encoder sur le client, par exemple :
Copiez le code comme suit :
title=escape(encodeURIComponent(title)); //Ceci est une fonction en js
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2. Utilisez java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8") sur le serveur pour décoder.
-------------------------------------------------- --------------------------
Le problème des caractères tronqués dans parent.window.location.href et src dans iframe.
Pour transmettre du chinois dans ces deux adresses URL, vous devez encoder puis décoder.
Encodage : encodeURI(encodeURI("Chaîne contenant du chinois"))
Décodage : java.net.URLDecoder.decode("Chaîne à décoder", "utf-8");