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!