/* ฟอร์ม:http://blog.joycode.com/hopeq/archive/2005/09/26/64146.aspx*
มีโครงการเว็บ แน่นอนถ้าการเข้ารหัสของโครงการใช้ UTF-8 จะไม่มีปัญหา แต่โครงการนี้เป็นโครงการเก่า ย้ายเฉพาะสมองหน้านี้
หลังจากการวิจัยพบว่าปัญหานี้สามารถแก้ไขได้ด้วยวิธีการ HTML เอนทิตี
สำหรับเอนทิตี HTML โปรดดู:
การอ้างอิงเอนทิตีอักขระใน HTML 4
การแทนที่เอกสาร HTML
รหัสทดสอบ:
ไบต์ [] bcomments = encoding.utf8.getBytes ("ich คือブルルル ???? จีน");
ถ่าน [] ccomments = encoding.utf8.getChars (bcomments);
StringBuilder charbuilder = new StringBuilder ();
foreach (ถ่าน C ใน ccomments)
-
ถ้า (c> '/u0800')))
-
charbuilder.append ("&#");
charbuilder.append ((int) c);
-
อื่น
-
charbuilder.append (c);
-
-
Response.write (charbuilder.toString ());
บทบาทของรหัสนี้คือการส่งออกอักขระจีนเกาหลีและญี่ปุ่นทั้งหมดลงในเอนทิตี HTML ผ่านการเข้ารหัสอย่างหนัก เอนทิตี HTML ไม่ได้รับผลกระทบจากชุดการเข้ารหัสและการเข้ารหัสหน้า
ภาพประกอบ:
/U0800 ด้านบนเป็นตัวละครจีนเกาหลีและญี่ปุ่น
ขอบเขตของภาษาจีน:/U4E00-/U9FA5, ญี่ปุ่นใน/U0800-/U4E00 และเกาหลีอยู่เหนือ/U9FA5
วิธีนี้เป็นเพียงการแก้ปัญหาขนาดเล็ก