ข้ามไปยังเนื้อหาหลัก

รหัสอักขระ CSV และ EXCEL

วิธีแก้รหัสอักขระ CSV และข้อความภาษาไทยเพี้ยนใน Excel

เปิดเครื่องมือแปลงรหัสอักขระ

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

เผยแพร่:

อัปเดต:

เครื่องมือที่เกี่ยวข้อง: แปลงการเข้ารหัสและรูปแบบ

UTF-8, TIS-620 และ Windows-874 ต่างกันอย่างไร

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

การเลือกรหัสอักขระสำหรับ CSV ภาษาไทย
รหัสอักขระเหมาะกับการใช้งานใน Excelข้อควรระวัง
UTF-8 พร้อม BOMExcel การส่งทางอีเมล และข้อมูลหลายภาษามักเปิดถูกต้องเมื่อดับเบิลคลิกตรวจว่าระบบนำเข้าไม่ได้ห้าม BOM
UTF-8 ไม่มี BOMเว็บ ฐานข้อมูล API และระบบที่ระบุ UTF-8นำเข้าผ่าน ข้อมูล > จากข้อความ/CSV (Data > From Text/CSV) ได้แน่นอนกว่าExcel รุ่นเก่าอาจเดารหัสอักขระผิด
TIS-620 / Windows-874ระบบภาษาไทยรุ่นเก่าที่ระบุชัดเจนอาจเปิดได้ใน Windows ภาษาไทยบางสภาพแวดล้อมLocaCSV ยังไม่รองรับ ต้องแปลงเป็น UTF-8 ด้วยระบบต้นทางหรือเครื่องมืออื่นก่อน
ISO-8859-1ระบบเดิมที่ระบุ Latin-1 อย่างชัดเจนเลือกต้นทางไฟล์ด้วยตนเองต่างจาก Windows-1252 และไม่รองรับข้อความภาษาไทย
Shift_JIS / CP949 / Big5 / GB18030 / Windows-1252ระบบเก่าของญี่ปุ่น เกาหลี จีน หรือยุโรปตะวันตกเลือกตามข้อกำหนดแหล่งที่มาด้วยตนเองไม่ใช่ตัวเลือกแทน TIS-620 หรือ Windows-874 สำหรับข้อความไทย
  • UTF-8 พร้อม BOM

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

    เหมาะกับ
    เว็บ ฐานข้อมูล API และระบบที่ระบุ UTF-8
    การใช้งานใน Excel
    นำเข้าผ่าน ข้อมูล > จากข้อความ/CSV (Data > From Text/CSV) ได้แน่นอนกว่า
    ข้อควรระวัง
    Excel รุ่นเก่าอาจเดารหัสอักขระผิด
  • TIS-620 / Windows-874

    เหมาะกับ
    ระบบภาษาไทยรุ่นเก่าที่ระบุชัดเจน
    การใช้งานใน Excel
    อาจเปิดได้ใน Windows ภาษาไทยบางสภาพแวดล้อม
    ข้อควรระวัง
    LocaCSV ยังไม่รองรับ ต้องแปลงเป็น UTF-8 ด้วยระบบต้นทางหรือเครื่องมืออื่นก่อน
  • ISO-8859-1

    เหมาะกับ
    ระบบเดิมที่ระบุ Latin-1 อย่างชัดเจน
    การใช้งานใน Excel
    เลือกต้นทางไฟล์ด้วยตนเอง
    ข้อควรระวัง
    ต่างจาก Windows-1252 และไม่รองรับข้อความภาษาไทย
  • Shift_JIS / CP949 / Big5 / GB18030 / Windows-1252

    เหมาะกับ
    ระบบเก่าของญี่ปุ่น เกาหลี จีน หรือยุโรปตะวันตก
    การใช้งานใน Excel
    เลือกตามข้อกำหนดแหล่งที่มาด้วยตนเอง
    ข้อควรระวัง
    ไม่ใช่ตัวเลือกแทน TIS-620 หรือ Windows-874 สำหรับข้อความไทย

วิธีแปลงรหัสอักขระ CSV ด้วย LocaCSV

LocaCSV อ่านและแปลง CSV ในเบราว์เซอร์โดยไม่ส่งเนื้อหาไฟล์ไปยังเซิร์ฟเวอร์ Web Free รับไฟล์ต้นทางหนึ่งไฟล์ขนาดไม่เกิน 50MiB

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

วิธีเปิด CSV ใน Excel โดยไม่ให้ภาษาไทยเพี้ยน

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

  1. เปิดสมุดงานเปล่าใน Excel แล้วเลือก ข้อมูล > รับข้อมูล > จากไฟล์ > จากข้อความ/CSV (Data > Get Data > From File > From Text/CSV) ชื่อเมนูอาจต่างกันเล็กน้อยตามรุ่น
  2. เลือก CSV แล้วตั้ง ต้นทางไฟล์ (File Origin) หรือรหัสอักขระเป็น UTF-8 (65001) หรือค่าที่ผู้ส่งระบุ
  3. เลือกตัวคั่นจริงเป็นจุลภาค อัฒภาค แท็บ หรือไปป์ ข้อมูลที่รวมอยู่คอลัมน์เดียวมักเป็นปัญหาตัวคั่น ไม่ใช่รหัสอักขระ
  4. กำหนดรหัสไปรษณีย์ รหัสลูกค้า เลขบัญชี และหมายเลขโทรศัพท์เป็นข้อความหากต้องรักษาเลขศูนย์นำหน้า
  5. ตรวจชื่อภาษาไทย สระ วรรณยุกต์ เครื่องหมายบาท และขอบเขตคอลัมน์ในตัวอย่าง แล้วจึงเลือก โหลด (Load)

วิธีบันทึก CSV จาก Excel โดยไม่ทำข้อความหาย

หลังแก้ไข ให้เลือก ไฟล์ > บันทึกเป็น (File > Save As) และใช้รูปแบบ CSV UTF-8 แบบคั่นด้วยจุลภาค (CSV UTF-8 (Comma delimited) (*.csv)) หากมี CSV เก็บค่าข้อความของแผ่นงานเดียว ไม่เก็บรูปแบบเซลล์ หลายแผ่นงาน กราฟ หรือคุณสมบัติส่วนใหญ่ของ Excel

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

วิธีแก้ CSV ที่แสดงข้อความเพี้ยนแล้ว

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

  • อักษรไทยกลายเป็น Ã, Â หรือสัญลักษณ์ละติน: ไฟล์อาจถูกอ่านด้วย Windows-1252 อย่างไม่ถูกต้อง
  • พบสัญลักษณ์ �: โปรแกรมอ่านอาจแทนลำดับไบต์ที่ไม่ถูกต้อง
  • สระหรือวรรณยุกต์ผิดตำแหน่ง: ตรวจไฟล์ต้นทางว่าเป็น UTF-8, TIS-620 หรือ Windows-874 จริงหรือไม่
  • ข้อมูลทั้งหมดอยู่คอลัมน์เดียว: ตรวจจุลภาค อัฒภาค แท็บ หรือไปป์ที่ใช้เป็นตัวคั่น

สิ่งที่ควรรู้เกี่ยวกับรหัสอักขระภาษาไทยรุ่นเก่า

TIS-620 เป็นมาตรฐานรหัสอักขระภาษาไทยรุ่นเก่า ส่วน Windows-874 เป็นชุดรหัสอักขระของ Windows ที่อิง TIS-620 และเพิ่มเครื่องหมายบางตัว ทั้งสองยังพบได้ในโปรแกรมบัญชีหรือระบบราชการเก่า แต่ไฟล์ใหม่ควรใช้ UTF-8 เพื่อรองรับภาษาไทย สัญลักษณ์ และข้อความหลายภาษาได้ครบกว่า

  • ไฟล์ใหม่หรือการแลกเปลี่ยนหลายภาษา: UTF-8 พร้อมหรือไม่มี BOM ตามระบบรับ
  • เปิดโดยตรงใน Excel: UTF-8 พร้อม BOM เป็นตัวเลือกที่ใช้งานง่าย
  • ระบบต้นทางส่งออก TIS-620 หรือ Windows-874: แปลงเป็น UTF-8 ก่อนใช้ LocaCSV
  • อย่าใช้ Windows-1252 แทน Windows-874 แม้ชื่อคล้ายกัน เพราะ Windows-1252 ไม่แทนตัวอักษรไทย

ปกป้องข้อมูล CSV และระวังสูตรในสเปรดชีต

CSV อาจมีชื่อลูกค้า อีเมล ธุรกรรม และข้อมูลส่วนบุคคล LocaCSV ไม่ส่งเนื้อหาไฟล์ ชื่อไฟล์ ส่วนหัว หรือค่าเซลล์ไปยัง API ภายนอก

เซลล์ที่ขึ้นต้นด้วย =, +, -, @, แท็บ หรืออักขระขึ้นบรรทัด CR / LF อาจถูกมองเป็นสูตรในสเปรดชีต อ่านคำเตือนก่อนดาวน์โหลด และอย่าเปิดมาโครหรือเนื้อหาภายนอกจากแหล่งที่ไม่เชื่อถือ