Bei der Arbeit an einem Projekt habe ich festgestellt, dass Action chinesische Parameter im JSP-Format erhält. Solange das gesamte Projekt das UTF-8-Codierungsformat verwendet, wird es kein Problem mit verstümmeltem Code geben, JS wird jedoch in JSP verwendet und chinesische Parameter werden verwendet Von JS an Action übergeben. Es gibt Verwirrung auf Chinesisch. Nach mehrmaliger Nachfrage bei Baidu gibt es viele Meinungen.
Nach dem Üben habe ich festgestellt, dass die folgende Methode das Problem verstümmelter chinesischer Zeichen lösen kann:
In JSPs JS: Chinesische Parameter verwenden encodeURI (encodeURI (chinesischer Parameter)), der zweimal transkodiert wird. Zum Beispiel:
Kopieren Sie den Codecode wie folgt:
Funktion show(next,id,realName){
document.forms['f2'].action="usersearchNextPage?next="+next+"&id="+id+"&realName="+encodeURI(encodeURI(realName));
document.forms['f2'].submit();
}
Wobei realName ein chinesischer Parameter ist. Daher wird realName in der übermittelten URL zweimal transkodiert. encodeURI(encodeURI(realName))
In Aktion: Dekodieren beim Empfang chinesischer Parameter. Verwendung: java.net.URLDecoder.decode(realName, "UTF-8");
wie:
Kopieren Sie den Codecode wie folgt:
String realName = ServletActionContext.getRequest().getParameter("realName");
versuchen {
realName = java.net.URLDecoder.decode(realName,"UTF-8");
} Catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
Nach der obigen Verarbeitung ist das Problem gelöst.