Submitted by sugree on 26 December, 2006 - 14:35.
อ้อ ถ้าพวกนั้นมันเก็บข้างในเป็น utf8 อยู่แล้วมั๊ง แค่บังเอิญ charset ที่เก็บมันเป็น latin1 ซึ่งก็น่าจะใช้ได้ระดับนึง เหมือนตอนอัพเกรด drupal 4.6 เป็น 4.7 ลองเข้าไปเช็คข้อมูลว่าตอนนี้ที่เก็บอยู่มันเป็น utf8 รึเปล่า ถ้าใช่ก็ต้องทำแบบนี้

- latin1 => binary
- binary => utf8
โดยใช้ตารางการแปลงแบบนี้
'char' => 'binary'
'varchar' => 'varbinary'
'tinytext' => 'tinyblob'
'text' => 'blob'
'mediumtext' => 'mediumblob'
'longtext' => 'longblob'
แล้วก็เปลี่ยน default charset ในระดับฐานข้อมูลและระดับตาราง
อันนี้อ้างอิงจากวิธีอัพเกรดของ Drupal ซึ่งเอาจาก MySQL อีกที (charset conversion)

ขอยกจากเว็บ blognone ที่คุณ @sugree ตอบไว้..นานแล้ว

วันนี้เจอเคสที่ต้อง Export DB ข้ามเครื่อง Server แล้วมึนกับภาษาไทยต่างดาวของ latin1
มีหลายวิธีที่ใช้ได้ แต่วิธีนี้เหมาะกับเคสผมที่สุด

เนื่องจากเครื่อง Server เราคุมได้แค่ phpmyadmin เท่านั้น
(และผมก็ทำได้แค่นี้จริงๆ ทำงานทั้งปีแทบไม่ได้จับ Linux กันเลย.. :( )

วิธีทำก็เปลี่ยน Type ของฟิลด์ตามที่คุณ @sugree ระบุ
ตอนเปลี่ยนกลับตั้ง Charset เป็น tis620_general_ci หรือ tis620_thai_ci
เป็นอันเสร็จ ... ถ้าอยากให้เป็น unicode ก็ค่อยมาแก้เป็น utf8_general_ci ทีหลัง

*ไม่สามารถโดดข้ามมา utf8_general_ci ทันที เพราะภาษาจะเพี้ยน

ตอนแรกว่าจะ Note บน Twitter แต่ได้ยินว่า เก็บ tweet ได้แค่ 3,200 tweet
จดละเอียดขึ้นหน่อยก็ดีเหมือนกัน วางที่ Blog นี้นั่นแหละ :P

ป.ล. ปกติผมใช้ twitter ไว้ Note Event ประจำวันกับพวก Link ที่สนใจ
(เพราะไม่เห็นความจำเป็นที่จะใช้เว็บเฉพาะ)

แต่จากเหตุ tweeterwall แถมข้อจำกัด tweet เห็นทีว่าต้องย้ายฐานซะแล้ว
ดีไม่ดีเขียนระบบแบบ twitter บนเว็บตัวเองใช้เองไปเลย เพราะไม่ได้ใช้ฟีเจอร์เป็นพิเศษ

-w-)b