บทความนี้ได้แบ่งปันวิธีแก้ปัญหาในการส่งรหัสภาษาจีนที่อ่านไม่ออกในแบบฟอร์ม Java สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
home index.xml
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <html> <head> <title> การสาธิต servlet </title> </head> <body> <h2> การเปลี่ยนรูปแบบของจีน action = "/servletdemo_1/encode" method = "post"> ชื่อ: <อินพุต type = "text" name = "name"/> <br/> รหัสผ่าน: <input type = "password" name = "pwd"/> <br/>
servletencoding.java
แพ็คเกจ cn.hncu.servlet_2; นำเข้า java.io.ioexception; นำเข้า Javax.servlet.servlet; นำเข้า Javax.servlet.servletConfig; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet charset = null; @Override โมฆะสาธารณะทำลาย () {} @Override สาธารณะ servletConfig getServletConfig () {return null; } @Override สตริงสาธารณะ getServletInfo () {return null; } @Override โมฆะสาธารณะ init (servletConfig config) พ่น servletexception {charset = config.getInitParameter ("Char"); System.out.println ("การเข้ารหัส:"+Charset); } / * * แก้ปัญหาภาษาจีนที่อ่านไม่ออก * 1) เปลี่ยนการเข้ารหัสอักขระในแพลตฟอร์ม Tomcat (คุณสมบัติของ Server.xml-connector) * และ Tomcat เป็นแพลตฟอร์มสาธารณะของโครงการทั้งหมดดังนั้นอย่าทำมันอย่าพยายามเปลี่ยน * 2) การตรวจสอบ back-check: การเข้ารหัส * หมายเหตุ: วิธีนี้จะต้องส่งในโหมดโพสต์มิฉะนั้นจะไม่ทำงาน * 4) ตั้งค่าก่อนที่จะได้รับพารามิเตอร์: 3) ทำโดยการตั้งค่าพารามิเตอร์อักขระใน web.xml * 5) ใช้ตัวกรองเพื่อทำ - ในอนาคต */@Override บริการสาธารณะ req.setcharacterencoding ("UTF-8"); // 4) ตั้งค่าก่อนรับพารามิเตอร์: 3) req.setcharacterencoding (charset); // อ่านข้อมูลการประมวลผลชื่อสตริงภาษาจีนที่อ่านไม่ออก = req.getParameter ("ชื่อ"); สตริง pwd = req.getParameter ("PWD"); System.out.println ("ชื่อ:"+ชื่อ+", pwd:"+pwd); // system.out.println ("ก่อนที่จะเข้ารหัส-ชื่อ:"+ชื่อ+", pwd:"+pwd); bs [] = name.getBytes ("ISO-8859-1"); // name = neG String (bs, "UTF-8"); // byte bs2 [] = pwd.getBytes ("iso-8859-1"); // pwd = สตริงใหม่ (bs2, "utf-8"); การเข้ารหัส-ชื่อ: "+ชื่อ+", pwd: "+pwd); // // note: วิธีนี้ไม่เหมาะสำหรับพารามิเตอร์จำนวนมาก resp.setContentType ("text/html; charset = utf-8"); // set protocol: IE ไม่มีปัญหา แต่เบราว์เซอร์บางตัวไม่เข้ากัน // ตอบสตริงลูกค้า str = "<html> <head> +ชื่อ+", pwd:"+pwd+"</font> </body> </head>"; resp.getWriter (). println (str); // println () พร้อมแคชแฟลช}}}ไฟล์กำหนดค่า web.xml
<? xml เวอร์ชัน = "1.0" การเข้ารหัส = "utf-8"?> <web-app version = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://ww.w3.org/200 xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_3 <servlet-name> เข้ารหัส </servlet-name> <servlet-class> cn.hncu.servlet_2.servletencoding </servlet-class> <init-param> <param-name> char </param-name> <url-pattern>/เข้ารหัส </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.jsp </welcome-file>
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น