อะไรคือสาเหตุของอักขระพิเศษ 3 ตัวหลังจากการแปลงเป็น UTF-8


7

หนึ่งในขั้นตอนการทำงานของเราเกี่ยวข้องกับการบันทึกแผ่นงาน MS Excel เป็น CSV แล้วใช้ UltraEdit เพื่อแปลง CSV เป็น UTF-8 ก่อนที่จะนำเข้าลงในระบบเซิร์ฟเวอร์

ปัญหาคือหลังจากการแปลงเป็น UTF-8 ไฟล์จะมีตัวอักษรไร้สาระ 3 ตัวเสมอเมื่อเริ่มต้นไฟล์:

 ENTITY_ID; FIELD2, FIELD3, FIELD4; (ฯลฯ )
value1; value2; value3; value4; (etc)

ข้อสังเกต:

  • อย่างที่คุณเห็นมี 3 ตัวอักษรที่มีเสียงรบกวนและทำให้เซิร์ฟเวอร์ปฏิเสธการนำเข้า CSV เนื่องจากคอลัมน์แรกไม่มีชื่อ "ENTITY_ID" ตัวละครเหมือนกันเสมอ

  • ตัวละครเหล่านี้จะไม่แสดงหลังจากการแปลง แต่เมื่อเราปิดและเปิดไฟล์ใน UltraEdit อีกครั้งเราจะเห็นตัวอักษร

  • อักขระเหล่านี้จะปรากฏเฉพาะใน UltraEdit Windows Notepad หรือ Notepad ++ ไม่แสดงขึ้นมา

  • การใช้ Notepad ++ เพื่อแปลง CSV เป็น UTF-8 จะให้ผลลัพธ์ที่เหมือนกันทุกประการ: ไฟล์ที่มีอักขระคี่ 3 ตัวเหมือนกันในตอนเริ่มต้น ข้อแตกต่างเพียงอย่างเดียวคือ Notepad ++ จะไม่แสดงอักขระเหล่านี้แม้หลังจากปิดและเปิดไฟล์ซ้ำ

วิธีแก้ปัญหา:
เราเปิดไฟล์อีกครั้งใน UltraEdit ลบเสียงรบกวนจากนั้นเซิร์ฟเวอร์ยอมรับการนำเข้า CSV
ขั้นตอนนี้ต้องถูกกำจัดโดยแก้ไขปัญหาจริง

คำถาม:เราจะหลีกเลี่ยงอักขระ 3 ตัวนี้ได้อย่างไร

คำตอบ:


8

นั่นคือเครื่องหมายคำสั่งไบต์เข้ารหัสเป็น UTF-8 บอกให้บรรณาธิการของคุณไม่เพิ่มเข้าไปในตอนต้นหรือใช้ตัวถอดรหัสจริงในระบบเซิร์ฟเวอร์ของคุณ


ขอขอบคุณ! สิ่งนี้กระตุ้นให้เกิดคำถามอื่นอีกแน่นอน :-)
Torben Gundtofte-Bruun
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.