ขอเสริมเพิ่มเติมนะครับ
1. Editplus อ่านไทยได้แน่นอน แม้ว่า encoding ของไฟล์จะเป็น ascii ก็ตาม ถ้า Windows มี Regional เป็นไทย
2. mysql ไม่รู้ encoding ของไฟล์ จึงต้องมีการบอก mysql encoding ของต้นทางเป็นอะไร
3. ถ้าบอก econding ของต้นทางได้ถูกต้อง จะสามารถนำข้อมูลเข้าตารางได้ค่อนข้างแน่นอน โดยไม่สนว่า charset ของ column ที่จะนำเข้าเป็นอะไรก็ตาม
ตัวอย่างนะครับ
ไฟล์ ascii => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น utf8 ** OK **
ไฟล์ utf-8 => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น utf8 ** OK **
ไฟล์ ascii => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น utf8 ** OK **
ไฟล์ utf-8 => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น utf8 ** OK แต่อาจไม่ 100% เนื่องจากไฟล์ utf-8 อาจมีอักขระที่ไม่ใช่ไทยหรืออังกฤษได้ **
แต่ถ้าเป็นแบบนี้
ไฟล์ ascii => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น อะไรก็ได้ ** NOT OK **
ไฟล์ utf-8 => บอก mysql ว่าเป็น utf8 => นำเข้าตารางที่เป็น อะไรก็ได้ ** NOT OK **
สรุปก็คือ การบอก mysql ว่าข้อมูลของเรามี encoding แบบใดนั้น สำคัญมาก
แม้จะไม่ตรงกับ charset ของ column ก็ตาม mysql สามารถ mapping ระหว่าง charset ได้โดยอัตโนมัติ
ดังนั้นการโหลดไฟล์ sql เข้า mysql ที่ถูกต้อง ให้ตรวจสอบดังนี้
**Hidden Content: To see this hidden content your post count must be 1 or greater.**
ยาวหน่อย แต่เพื่อความเข้าใจที่ถูกต้อง ใครเข้าใจแล้ว ต่อไปจะไม่มีปัญหาเรื่อง encoding กับ charset ของ mysql อีกต่อไป