При работе над проектом я обнаружил, что Action получает китайские параметры в форме jsp. Пока весь проект использует формат кодировки UTF-8, проблем с искажением кода не будет, однако в JSP используется JS, а параметры на китайском языке; перешёл с JS на Action В китайском путаница. После нескольких вопросов Baidu появилось много мнений.
Попрактиковавшись, я обнаружил, что следующий метод может решить проблему искажения китайских иероглифов:
В параметрах JSP JS: Chinese используется encodeURI (encodeURI(китайский параметр)), который перекодируется дважды. Например:
Скопируйте код кода следующим образом:
функция show(следующий,id,realName){
document.forms['f2'].action="usersearchNextPage?next="+next+"&id="+id+"&realName="+encodeURI(encodeURI(realName));
document.forms['f2'].submit();
}
Где realName — китайский параметр. Таким образом, RealName дважды перекодируется в отправленном URL. encodeURI(encodeURI(реальное имя))
В действии: Декодирование при получении китайских параметров. Используйте: java.net.URLDecoder.decode(realName, "UTF-8");
нравиться:
Скопируйте код кода следующим образом:
String realName = ServletActionContext.getRequest().getParameter("realName");
пытаться {
RealName = java.net.URLDecoder.decode(realName,"UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
После вышеуказанной обработки проблема решена.