รหัสอักขระ CSV และ EXCEL
วิธีแก้รหัสอักขระ CSV และข้อความภาษาไทยเพี้ยนใน Excel
เมื่อ Excel แสดงภาษาไทยเป็นอักขระแปลก ๆ หรือรวมทั้ง CSV ไว้คอลัมน์เดียว อย่าเพิ่งบันทึกทับ คู่มือนี้แยกปัญหารหัสอักขระออกจากปัญหาตัวคั่น และอธิบายวิธีเปิดกับบันทึก CSV โดยรักษาไฟล์ต้นฉบับ
UTF-8, TIS-620 และ Windows-874 ต่างกันอย่างไร
ให้ข้อกำหนดของระบบรับไฟล์เป็นตัวตัดสิน ไม่ใช่แค่ประเทศหรือภาษาของ Excel หากไม่มีข้อกำหนด UTF-8 พร้อม BOM เป็นจุดเริ่มต้นที่เหมาะกับงาน Excel
| รหัสอักขระ | เหมาะกับ | การใช้งานใน Excel | ข้อควรระวัง |
|---|---|---|---|
| UTF-8 พร้อม BOM | Excel การส่งทางอีเมล และข้อมูลหลายภาษา | มักเปิดถูกต้องเมื่อดับเบิลคลิก | ตรวจว่าระบบนำเข้าไม่ได้ห้าม 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
- เปิด รหัสอักขระและการแปลงรูปแบบ แล้วเลือก CSV ต้นฉบับ
- เลือกการตรวจอัตโนมัติสำหรับ UTF-8 หรือ Shift_JIS หรือเลือกรหัสอักขระอื่นที่รองรับตามข้อกำหนดต้นทางด้วยตนเอง
- ตรวจตัวอย่าง หากคอลัมน์เลื่อนให้เลือกจุลภาค อัฒภาค แท็บ หรือไปป์ที่ถูกต้อง
- เลือก UTF-8 พร้อม BOM สำหรับ Excel หรือ UTF-8 ไม่มี BOM เมื่อระบบรับระบุไว้
- เริ่มแปลง ตรวจข้อความและจำนวนแถว แล้วบันทึก CSV
วิธีเปิด CSV ใน Excel โดยไม่ให้ภาษาไทยเพี้ยน
อย่าบันทึกไฟล์ในขณะที่ข้อความยังเพี้ยน เพราะอาจเขียนทับไบต์เดิมด้วยอักขระที่อ่านผิด เก็บสำเนาไฟล์ต้นฉบับไว้ แล้วนำเข้าอีกครั้งโดยระบุรหัสอักขระและตัวคั่น
- เปิดสมุดงานเปล่าใน Excel แล้วเลือก ข้อมูล > รับข้อมูล > จากไฟล์ > จากข้อความ/CSV (Data > Get Data > From File > From Text/CSV) ชื่อเมนูอาจต่างกันเล็กน้อยตามรุ่น
- เลือก CSV แล้วตั้ง ต้นทางไฟล์ (File Origin) หรือรหัสอักขระเป็น UTF-8 (65001) หรือค่าที่ผู้ส่งระบุ
- เลือกตัวคั่นจริงเป็นจุลภาค อัฒภาค แท็บ หรือไปป์ ข้อมูลที่รวมอยู่คอลัมน์เดียวมักเป็นปัญหาตัวคั่น ไม่ใช่รหัสอักขระ
- กำหนดรหัสไปรษณีย์ รหัสลูกค้า เลขบัญชี และหมายเลขโทรศัพท์เป็นข้อความหากต้องรักษาเลขศูนย์นำหน้า
- ตรวจชื่อภาษาไทย สระ วรรณยุกต์ เครื่องหมายบาท และขอบเขตคอลัมน์ในตัวอย่าง แล้วจึงเลือก โหลด (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 อาจถูกมองเป็นสูตรในสเปรดชีต อ่านคำเตือนก่อนดาวน์โหลด และอย่าเปิดมาโครหรือเนื้อหาภายนอกจากแหล่งที่ไม่เชื่อถือ