ขอถามเกี่ยวกับ MYSQL หน่อยครับ Import ข้อมูลแล้วเป็นภาษา?

[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 ก้อยังไม่ได้เลย…

  1. เข้า CP ลบ database ทิ้ง
  2. สร้าง db ขึ้นมาใหม่
  3. เข้า phpmyadmin แล้วแก้ charset ของ db จาก latin1 เป็น utf-8
  4. แก้ไฟล์ .sql ที่ export มาเอาที่กำหนด charset ออกให้หมด
  5. import .sql เข้า database ด้วย bigdump
  6. แก้ไฟล์ 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 มองไม่เห็นภาษาไทยเลยครับ กลายเป็น ~~~~