Maison > interface Web > js tutoriel > le corps du texte

Partagez un problème js qui provoque des caractères tronqués lors de la transmission de paramètres chinois à Action et comment le résoudre

零下一度
Libérer: 2017-04-27 14:55:25
original
1788 Les gens l'ont consulté

Action obtient les paramètres chinois sous la forme jsp. Tant que l'ensemble du projet utilise le format d'encodage UTF-8, il n'y aura pas de problème de code tronqué, cependant, JS est utilisé dans JSP et les paramètres chinois sont transmis de JS à Action et des caractères chinois tronqués apparaîtront

Lorsque je travaillais sur un projet, j'ai découvert qu'Action obtenait les paramètres chinois sous la forme jsp. Tant que l'ensemble du projet utilise le format d'encodage UTF-8, il y en aura. pas de problème tronqué ; mais JS est utilisé dans JSP, et depuis JS. Si les paramètres chinois sont transmis à Action, les caractères chinois seront tronqués. Après avoir demandé plusieurs fois à Baidu, les opinions sont nombreuses.
Après la pratique, j'ai découvert que la méthode suivante peut résoudre le problème des caractères chinois tronqués :
Dans JS ou JSP : les paramètres chinois utilisent encodeURI (encodeURI (paramètre chinois)), qui est transcodé deux fois. Par exemple :

function show(next,id,realName){ 
document.forms['f2'].action="usersearchNextPage?next="+next+"&id="+id+"&realName="+encodeURI(encodeURI(realName)); 
document.forms['f2'].submit(); 
}
Copier après la connexion

où realName est un paramètre chinois. Par conséquent, realName est transcodé deux fois dans l’URL soumise. encodeURI(encodeURI(realName))
Action : Décoder lors de la réception des paramètres chinois. Utilisez : java.net.URLDecoder.decode(realName, "UTF-8");
tel que :

String realName = ServletActionContext.getRequest().getParameter("realName"); 
try { 
realName = java.net.URLDecoder.decode(realName,"UTF-8"); 
} catch (UnsupportedEncodingException e1) { 
e1.printStackTrace(); 
}
Copier après la connexion

Après le traitement ci-dessus, le problème est résolu.

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