[size=12pt][color=red]พอดีย้ายข้อมูลมาจาก host นอก พอเอามาลง host ไทยแล้ว มันเป็นภาษา ? ? ? แบบนี้อะคับ
กลายเป็น latin1_swedish_ci
ปัญหาโลกแตกจริงๆ เลยครับ MySQL นี่
ตอน Dump มาเป็น utf8 หรือเปล่าครับ
ยังไงรอผู้รู้มาตอบนะครับ ผมก็ปวดหัวกับมันบ่อยๆ เหมือนกัน
:unsure:
แนะนำให้ใช้ MySql Client อย่างเช่น Navicat
Backup ข้อมูลแล้ว Extract เป็น .sql
จากนั้นใช้ Edit Plus เปิด File ขึ้นมา ลบเอา DEFAULT CHARSET ออกทั้งหมด
แล้วจึง Import เข้าไปที่ Host ใหม่
หรือจะ Excecute ด้วย Query เลยก็ได้ File ใหญ่ก็ไม่มีปัญหาครับ
// Connection character set should be the same as the dump file character set (utf8, latin1, cp1251, koi8r etc.)
// See http://dev.mysql.com/doc/refman/5.0/en/charset-charsets.html for the full list
$db_connection_charset = ‘’;
ใน bigdump.php ใส่ tis620
ใส่แล้วครับ tis620 ก้อยังไม่ได้เลย…
- เข้า CP ลบ database ทิ้ง
- สร้าง db ขึ้นมาใหม่
- เข้า phpmyadmin แล้วแก้ charset ของ db จาก latin1 เป็น utf-8
- แก้ไฟล์ .sql ที่ export มาเอาที่กำหนด charset ออกให้หมด
- import .sql เข้า database ด้วย bigdump
- แก้ไฟล์ php ส่วนที่ทำการ connect db ให้เพิ่ม query
ไฟล์ .sql เปิดไม่ได้เลยอะครับ ไฟล์มันใหญ่มาก ลองหลายรอบแล้วยัง ??? เหมือนเดิม
upload เข้า linux แล้วพิมพ์
sed -e “s/latin1/utf-8/g” db.sql >db1.sql
โฮสเค้าเปิดให้ใช้ shell นะคร๊าบ
ลืมไปเลย ว่าถ้าเปิดไม่เปิด
ถ้าไม่เปิดก็น่าจะคุยกับ admin ให้เค้าช่วยพิมพ์คำสั่งให้นะครับ
โปรแกรม text editor ที่เปิดไฟล์ขนาดใหญ่ๆได้มีเยอะครับ เช่น
editplus2 (shareware)
notepad2 (FreeWare) flo's freeware - Notepad2
ี
ลองโหลดมาเปิดดูครับ
เปิดได้แล้วครับ มัน set ไว้แบบนี้ครับ
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ต้องแก้เป็นอะไรครับ
DEFAULT CHARSET=latin1
แก้เป็น
DEFAULT CHARSET=utf8
แล้วแทรก SET NAMES utf8; บรรทัดบนสุด
ผมเปิดมาใน editplus มองไม่เห็นภาษาไทยเลยครับ กลายเป็น ~~~~