Maison  >  Article  >  interface Web  >  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

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

零下一度
零下一度original
2017-04-27 14:55:251722parcourir

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(); 
}

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(); 
}

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!

Déclaration:
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