เปลี่ยนภาษไทยจาก Latin1 เป็น UTF-8 by rainbow
Apr1
เคยไหมที่ไปเจอ Mysql database ที่จัดเก็บ collation เป็น latin1 แต่เราเขียนโปรแกรมพรอ้ม database ใหม่เป็น utf-8 ทั้งหมด ตอนแรก”คิดว่า”จะไม่ต้องไปเชื่อมต่อกับข้อมูลเก่าๆนี้แล้ว แต่บระเจ้า!!! ต้องเชื่อมต่อกับมันจนได้ ก็เลยเป็นเรื่องราวให้มาเขียนในวันนี้
ไฟล์ที่ใช้ในการconvert นี้ encoding เป็น UTF-8 นะครับ
1. เริ่มจากการเชื่อมต่อกับ Database “เก่า” ก็เชื่อมต่อธรรมดาครับ ไม่มีอะไรขอข้ามไปละกัน ที่จะมีก็คำสั่ง mysql_query(“SET NAMES ‘latin1′”); ที่ทำให้การเชื่อมต่อเป็นประเภทเดียวกับ collation ของ database
2.ดึงข้อมูลที่ต้องการออกมา
3.ถ้าข้อมูลที่เก็บเป็น UTF-8 อยู่แล้วก็ข้ามข้อนี้ไป ถ้าไม่ให้รันคำสั่ง iconv() เป็นเป็น UTF-8 ก่อน
4.จากนั้นเชื่อมต่อกับ Database ใหม่ ตามด้วยคำสั่ง mysql_query(“SET NAMES ‘utf8′”);
5.จัดเก็บข้อมูลที่นำมาจาก Database เก่า เท่านี้ก็จะได้ข้อมูลใหม่ที่เป็น collation UTF8 แล้ว
Enjoy this article?
Consider subscribing to our RSS feed!
16:49 on June 18th, 2012
ีดีมากครับ
แก้ปัญหาได้หลังจากอ่านบทความนั้น