ตัวอย่างในบทความนี้แบ่งปันปัญหาของการส่งและโซลูชั่นการใช้งานของจีนชวาและโซลูชั่นสำหรับการอ้างอิงของคุณกับคุณ เนื้อหาเฉพาะมีดังนี้
การตั้งค่ารูปแบบการเข้ารหัสทั่วไป:
1. สามารถเข้ารหัสได้สองครั้งนั่นคือหลังจากตั้งค่าชุดอักขระถอดรหัสชุดอักขระก่อนที่จะแทรกซึ่งเป็นวิธีที่มีประสิทธิภาพมากที่สุด
ชุดอักขระชุด:
ค่าสตริง = null;
ลอง {value = urlencoder.encode (jsonobjectpar.getString ("value"), "UTF-8"); } catch (unsupportencodingexception e) {e.printstacktrace (); -
ชุดอักขระถอดรหัส:
ค่าสตริง = null; ลอง {value = new String (value.getBytes ("ISO-8859-1"), "UTF-8"); } catch (unsupportencodingexception e) {e.printstacktrace (); - 2. การประมวลผลโดยตรง:
ชื่อผู้ใช้ = สตริงใหม่ (ชื่อผู้ใช้ GetBytes ("ISO-8859-1"), "UTF-8");
3. หากมีการใส่เบรกพอยต์เป็นภาษาจีนเมื่อมีการแทรกและรหัสจะถูกอ่านไม่ออกหลังจากป้อนฐานข้อมูลโดยทั่วไปฐานข้อมูลจะไม่ถูกตั้งค่าเป็น UTF-8;
ก่อนอื่นตรวจสอบการเข้ารหัสฐานข้อมูล (MySQL เป็นตัวอย่าง):
เรียกใช้ในคิวรีฐานข้อมูล: แสดงตัวแปรเช่น 'อักขระ%'; ดูข้อมูลการเข้ารหัสทั้งหมดแก้ไขชุดอักขระที่ไม่ใช่ UTF-8 ส่วนใหญ่ตรวจสอบว่า datebase เป็น UTF-8 หรือไม่
แสดงตัวแปรเช่น 'ตัวละคร%'; - Variable_name | มูลค่า | - ตัวละคร _set_client | ละติน 1 | - ตัวละคร _set_connection | ละติน 1 | - ตัวละคร _set_database | ละติน 1 | - ตัวละคร _set_filesystem | ไบนารี - ตัวละคร _set_results | ละติน 1 | - ตัวละคร _set_server | ละติน 1 | - ตัวละคร _set_system | UTF8 | - ตัวละคร _sets_dir | /usr/share/mysql/charsets/| -
จากข้อมูลข้างต้นเราจะเห็นว่าการเข้ารหัสฐานข้อมูลเป็นภาษาละติน 1 และจำเป็นต้องแก้ไขเป็น GBK หรือ UTF8
ในหมู่พวกเขา character_set_client เป็นวิธีการเข้ารหัสไคลเอนต์; character_set_connection คือการเข้ารหัสที่ใช้ในการสร้างการเชื่อมต่อ การเข้ารหัสฐานข้อมูล character_set_database; การเข้ารหัสชุด CANTALE_SET_RESULTS การเข้ารหัสเซิร์ฟเวอร์ฐานข้อมูล Character_set_server ตราบใดที่วิธีการเข้ารหัสสี่วิธีข้างต้นจะทำให้มั่นใจได้ว่าสี่ข้างต้นจะเหมือนกันจะไม่มีปัญหาที่อ่านไม่ออก
4. ปัญหาของรหัสที่อ่านไม่ออกจากพื้นหลังไปยังหน้า:
ตั้งค่าชุดอักขระก่อนส่งคืนข้อมูล:
Response.Setcharacterencoding ("UTF-8");
5.JSP หน้าไปยังรหัสพื้นหลังที่อ่านไม่ออก:
การเข้ารหัสของ 5-1.JSP ถูกตั้งค่าเป็น UTF-8
5-2. นี่คือการตัดสินในพื้นหลัง
ชื่อสตริง = request.getParameter ("ABC"); if (name.equals (สตริงใหม่ (request.getParameter ("abc"). getBytes ("iso8859-1"), "iso8859-1"))))) {ชื่อ = สตริงใหม่ (name.getBytes ( -รหัสที่ส่งโดย Get Method iso8859-1
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น