عند العمل في مشروع، وجدت أن Action يحصل على المعلمات الصينية في نموذج jsp. طالما أن المشروع بأكمله يستخدم تنسيق ترميز UTF-8، فلن تكون هناك مشكلة في التعليمات البرمجية المشوهة، ومع ذلك، يتم استخدام JS والمعلمات الصينية مرت من JS إلى العمل هناك ارتباك في اللغة الصينية. بعد سؤال بايدو عدة مرات، هناك العديد من الآراء.
بعد التدريب، وجدت أن الطريقة التالية يمكن أن تحل مشكلة الأحرف الصينية المشوهة:
في JS الخاص بـ JSP: تستخدم المعلمات الصينية encodeURI (encodeURI (المعلمة الصينية))، والتي يتم تحويل ترميزها مرتين. على سبيل المثال:
انسخ رمز الكود كما يلي:
عرض الوظيفة (التالي، المعرف، الاسم الحقيقي) {
document.forms['f2'].action="usersearchNextPage?next="+next+"&id="+id+"&realName="+encodeURI(encodeURI(realName));
document.forms['f2'].submit();
}
حيث يكون realName معلمة صينية. لذلك، يتم تحويل ترميز realName مرتين في عنوان URL المقدم. encodeURI(encodeURI(realName))
قيد التنفيذ: قم بفك التشفير عند تلقي المعلمات الصينية. الاستخدام: java.net.URLDecoder.decode(realName, "UTF-8");
يحب:
انسخ رمز الكود كما يلي:
String realName = ServletActionContext.getRequest().getParameter("realName");
يحاول {
realName = java.net.URLDecoder.decode(realName,"UTF-8");
} قبض على (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
بعد المعالجة المذكورة أعلاه، يتم حل المشكلة.