Heim  >  Artikel  >  Web-Frontend  >  Teilen Sie ein js-Problem, das bei der Übergabe chinesischer Parameter an Action zu verstümmelten Zeichen führt, und wie Sie es lösen können

Teilen Sie ein js-Problem, das bei der Übergabe chinesischer Parameter an Action zu verstümmelten Zeichen führt, und wie Sie es lösen können

零下一度
零下一度Original
2017-04-27 14:55:251722Durchsuche

Action erhält chinesische Parameter im JSP-Format. Solange das gesamte Projekt das UTF-8-Codierungsformat verwendet, tritt in JSP kein Problem mit verstümmeltem Code auf, und chinesische Parameter werden von JS an Action übergeben , und chinesische verstümmelte Zeichen werden angezeigt.

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, gibt es keine Verstümmeltes Problem; aber JS wird in JSP und von JS verwendet. Wenn chinesische Parameter an Action übergeben werden, werden die chinesischen Zeichen verstümmelt. 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 JS von JSP: Chinesische Parameter verwenden encodeURI (encodeURI (chinesischer Parameter)), der zweimal transkodiert wird. Beispiel:

function 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))
Aktion: Dekodieren beim Empfang chinesischer Parameter. Verwenden Sie: java.net.URLDecoder.decode(realName, "UTF-8");
wie:

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

Nach der oben genannten Verarbeitung ist das Problem gelöst.

Das obige ist der detaillierte Inhalt vonTeilen Sie ein js-Problem, das bei der Übergabe chinesischer Parameter an Action zu verstümmelten Zeichen führt, und wie Sie es lösen können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn