ไฟล์ CSV ภาษาจีนใน Excel: UTF-8, GBK และอักขระเพี้ยน

แผ่นตารางและแว่นขยาย
สารบัญ

หากเปิด CSV ภาษาจีนแล้วเห็นสัญลักษณ์ที่อ่านไม่รู้เรื่อง ให้เก็บสำเนาที่ยังไม่แก้ไขไว้ก่อน ไฟล์อาจมีไบต์ข้อความที่ถูกต้อง แต่ Excel ใช้การเข้ารหัสอักขระผิดแบบในการอ่าน การบันทึกข้อความที่เพี้ยนทับต้นฉบับอาจทำให้กู้คืนยากขึ้น

CSV เก็บข้อความกับตัวคั่น ชื่อไฟล์ไม่ได้ระบุการเข้ารหัสอย่างน่าเชื่อถือ และไม่ได้เก็บรูปแบบแผ่นงานเหมือนสมุดงาน Excel การอ่านไบต์ให้ถูกเป็นขั้นแรก ส่วนการรักษารหัสและวันที่ในตารางเป็นอีกขั้นหนึ่งที่ต้องตรวจแยกกัน

เลือกการเข้ารหัสที่ใช้บันทึกไฟล์

UTF-8 ใช้กันอย่างแพร่หลายในการแลกเปลี่ยนข้อความปัจจุบัน ไฟล์ส่งออกจากระบบเก่าในจีนแผ่นดินใหญ่อาจใช้ GBK หรือการเข้ารหัสภาษาจีนที่เกี่ยวข้อง ส่วนไฟล์จีนตัวเต็มบางไฟล์ใช้ Big5 แต่ข้อความที่ดูเป็นจีนตัวเต็มไม่ได้พิสูจน์ว่าไฟล์ใช้ Big5 เพราะไฟล์ Unicode สามารถมีทั้งตัวเต็มและตัวย่อได้

หากทำได้ ให้ถามผู้ส่งว่าใช้การเข้ารหัสใดตอนส่งออก หากไม่ทราบ ให้ลองตัวเลือกที่เป็นไปได้ในหน้าตัวอย่าง แล้วตรวจคำจริง ชื่อที่พบไม่บ่อย และเครื่องหมายวรรคตอน การถอดรหัสโดยไม่แจ้งข้อผิดพลาดไม่ได้ยืนยันว่าเลือกการเข้ารหัสถูกแล้ว

แผนภาพ: 中文: UTF-8 E4 B8 AD E6 96 87; GBK D6 D0 CE C4

ใช้ตัวอย่างก่อนนำเข้าของ Excel

แทนที่จะพึ่งการดับเบิลคลิก ให้ใช้ขั้นตอนนำเข้าข้อความหรือ CSV ของ Excel ในรุ่นเดสก์ท็อปปัจจุบันมักอยู่ที่แท็บข้อมูล ผ่านตัวเลือกนำเข้าข้อความ/CSV เลือกการเข้ารหัสต้นทางและตัวคั่น แล้วตรวจตัวอย่างก่อนโหลดตาราง ชื่อเมนูอาจต่างกันตามรุ่นและภาษา

เครื่องหมายลำดับไบต์ของ UTF-8 หรือ BOM อาจช่วยให้ Excel รู้ว่าเป็น UTF-8 เมื่อเปิดไฟล์โดยตรง เครื่องหมายนี้อยู่ต้นไฟล์เพื่อระบุการเข้ารหัส ไม่ใช่ส่วนหนึ่งของชื่อคอลัมน์แรก ระบบปลายทางบางระบบต้องการ UTF-8 ที่ไม่มี BOM จึงควรเลือกรูปแบบตามแอปพลิเคชันที่จะรับไฟล์ต่อ

แปลงตัวอย่างที่อ่านได้เป็น UTF-8

  1. เปิดสำเนาขนาดไม่เกิน 5 MB ในเครื่องมือแปลงการเข้ารหัสไฟล์ภาษาจีน
  2. เลือกการเข้ารหัสต้นทางที่ใช้จริงและอ่านข้อความตัวอย่าง
  3. ตรวจชื่อหรือคำอธิบายภาษาจีนหลายจุด ไม่ใช่เฉพาะแถวหัวตาราง
  4. ส่งออกเป็น UTF-8 และเลือก BOM ตามความเหมาะสมของแอปพลิเคชันผู้รับ
  5. เปิดไฟล์ที่ส่งออกอีกครั้ง แล้วเทียบแถวตัวแทนกับข้อมูลต้นทาง

การเปลี่ยนนามสกุลไฟล์หรือเพิ่ม BOM ไม่ได้เปลี่ยนไบต์ GBK ให้เป็น UTF-8 การแปลงต้องถอดรหัสข้อความต้นทางให้ถูกก่อน แล้วจึงเข้ารหัสข้อความนั้นเป็นรูปแบบปลายทาง

รักษาศูนย์นำหน้าและรหัสยาว

แม้ภาษาจีนจะแสดงถูกแล้ว Excel ก็ยังอาจตีความรหัสเป็นตัวเลขหรือวันที่ ตั้งคอลัมน์ที่เกี่ยวข้องเป็นข้อความระหว่างนำเข้า รหัสระบุรายการอย่าง 001234 ต้องคงหกอักขระไว้ การแสดงเป็น 1234 คือการสูญเสียข้อมูล

ความต่างระหว่างอักขระเต็มความกว้างกับครึ่งความกว้างยังอาจส่งผลต่อการจับคู่ข้อมูล หากไฟล์หนึ่งมี A123 และอีกไฟล์มี A123 ให้ใช้การแปลงความกว้างอักขระกับฟิลด์นั้นอย่างตั้งใจ วิธีนี้ไม่ได้แก้ปัญหาการเข้ารหัส และไม่ควรนำไปใช้กับข้อความทั้งหมดโดยไม่แยกแยะ

แยกอาการที่พบบ่อยสามแบบ

สิ่งที่เห็นสิ่งที่ควรตรวจเป็นอันดับแรก
ชื่อภาษาจีนกลายเป็นสัญลักษณ์ที่ไม่เกี่ยวข้องการเข้ารหัสอักขระต้นทาง
ข้อความอ่านได้แต่รวมอยู่ในคอลัมน์ยาวคอลัมน์เดียวตัวคั่นและการใช้เครื่องหมายคำพูด
001234 กลายเป็น 1234ชนิดข้อมูลของคอลัมน์

ปัญหาเหล่านี้เกิดพร้อมกันได้แต่มีสาเหตุต่างกัน การเลือก UTF-8 อย่างเดียวไม่ได้แยกไฟล์ที่ใช้เซมิโคลอนออกเป็นคอลัมน์ หากตัวนำเข้ารอเครื่องหมายจุลภาค การเลือกตัวคั่นก็ไม่คืนอักษรจีนที่ถอดรหัสผิด การตั้งคอลัมน์เป็นข้อความช่วยรักษารหัส แต่ไม่ได้ระบุการเข้ารหัสเดิมของไฟล์

ตรวจตัวอย่างตามลำดับนี้: ข้อความอ่านได้ ขอบเขตฟิลด์ถูกต้อง และชนิดคอลัมน์เหมาะสม ใช้หลายแถวที่มีภาษาจีน รหัสขึ้นต้นด้วยศูนย์ และฟิลด์ที่มีเครื่องหมายวรรคตอน หัวตารางที่มีแต่อักษร ASCII อาจดูถูกต้องภายใต้หลายการเข้ารหัส จึงไม่เพียงพอจะยืนยันข้อมูลที่เหลือ

เก็บตัวอย่างเล็ก ๆ สำหรับเปรียบเทียบ

ไฟล์ทดสอบประกอบการอธิบายอาจมีสามฟิลด์ ได้แก่ ชื่อ รหัส และหมายเหตุ ชื่ออาจเป็น 李明 รหัสเป็น 001234 และหมายเหตุเป็นวลีภาษาจีนสั้น ๆ นี่คือข้อมูลทดสอบ ไม่ใช่ประวัติลูกค้าจริง เก็บข้อความที่คาดหวังไว้คู่กับไฟล์ เพื่อเทียบค่าเดิมหลังนำเข้าหรือส่งออกแต่ละครั้ง

หากฟิลด์มีตัวคั่นของไฟล์หรือมีการขึ้นบรรทัดใหม่อยู่ภายใน โปรแกรมเขียน CSV ต้องครอบด้วยเครื่องหมายคำพูดอย่างถูกต้อง จำนวนบรรทัดข้อความจึงไม่เท่ากับจำนวนรายการเสมอไป เพราะเซลล์ที่ครอบด้วยเครื่องหมายคำพูดมีการขึ้นบรรทัดใหม่ได้ เมื่อตรวจไฟล์ส่งออก ให้เทียบแถวและคอลัมน์ที่อ่านแยกได้จริง อย่าตัดสินว่าไฟล์ครบเพียงเพราะจำนวนบรรทัดที่เห็นดูสมเหตุสมผล

หลังแปลงเป็น UTF-8 ให้เปิดไฟล์ใหม่โดยระบุ UTF-8 อย่างชัดเจน แล้วเทียบค่าตัวอย่าง จากนั้นลองนำเข้าในแอปพลิเคชันที่จะรับไฟล์จริง ไฟล์อาจมีการเข้ารหัสถูก แต่ยังใช้ตัวคั่นหรือลำดับคอลัมน์ไม่ตรงกับขั้นตอนที่ผู้รับคาดไว้

เลือกรูปแบบส่งออกสำหรับขั้นต่อไป

UTF-8 ที่มี BOM มีประโยชน์ในขั้นตอนเปิดไฟล์โดยตรงของ Excel บางแบบ เพราะเครื่องหมายช่วยระบุการเข้ารหัส ตัวนำเข้าอีกระบบอาจต้องการ UTF-8 ไม่มี BOM ไม่มีตัวเลือกใดดีกว่าในทุกกรณี ให้ใช้รูปแบบที่แอปพลิเคชันถัดไประบุ และทดสอบด้วยแถวตัวแทนชุดเดิม

BOM แก้ข้อความที่ถอดรหัสผิดก่อนส่งออกไม่ได้ หากตัวอย่างแสดงอักขระผิดอยู่แล้ว ให้หยุดก่อนบันทึกและแก้ตัวเลือกการเข้ารหัสต้นทาง การเพิ่มเครื่องหมาย UTF-8 ให้ข้อความที่ผิดเพียงสร้างไฟล์ใหม่ซึ่งยังมีข้อความผิดอยู่

หากต้องรักษาสูตร หลายแผ่นงาน รูปแบบเซลล์ หรือโครงสร้างตารางที่ซับซ้อน CSV ใช้แทนสมุดงานไม่ได้ เมื่อคุณสมบัติเหล่านี้สำคัญ ให้เก็บสมุดงานเป็นเอกสารทำงาน และส่งออก CSV เฉพาะขั้นตอนส่งต่อข้อมูลนั้น ๆ การแปลงข้อความสำเร็จไม่ใช่การรักษาคุณสมบัติทั้งหมดของสเปรดชีต

แยกแยะข้อมูลที่สูญหายไปแล้ว

หากไฟล์ที่บันทึกมีอักขระทดแทนหรือเครื่องหมายคำถามธรรมดาแทนข้อความจีนเดิม การเลือกการเข้ารหัสอื่นอาจกู้คืนไม่ได้ ให้กลับไปใช้ต้นฉบับที่ไม่ถูกแก้ไขหรือขอให้ส่งออกใหม่ เครื่องมือแปลงตีความไบต์ที่ยังมีอยู่ใหม่ได้ แต่สร้างข้อความที่ถูกเขียนทับและไม่เหลือในไฟล์ขึ้นมาไม่ได้

ความคิดเห็น

กำลังโหลด…

ยังไม่มีความคิดเห็น