ลูกค้ามี file backup driectadmin แต่ mysql เป็น latin1

คือลูกค้า backup จาก directadmin มาจะมาเช่าผม แต่ลอง restore แล้วภาษาไทยเป็น ???
ไปเช็คเลยเจอว่าเครื่องเก่าลุกค้าเป็น mysql character latin1 นะครับ
แต่ของผมเป็น tis-620 แบบนี้เราจะแก้ไขอย่างไรเหรอครับ
ขอบคุณมากครับ

ผมไม่รู้ว่า จะหายไหม เพิ่มคำสั่ง set names latin1 แล้ว restore ได้ไหม

ดึงไฟล์ sql มาแก้ charset แบบ manual แล้ว Import เข้าไปเองครับ

รบกวนนิดนึงนะครับ เราใช้ phpmyadmin เปิดแล้วแก้ connection collation: ให้เป็น tis620_thai_ci แบบนี้ ทีละ table แล้ว export เข้าไปที่ mysql ทีละตัวแบบนี้เหรอครับ

extract sql file ออกมาจาก backup ของ DA ครับ
ในไฟล์ backup ของ DA จะมีไฟล์ sql อยู่ ให้ดึงออกมา แล้วทำการแก้ไข content ในไฟล์นั้นครับ

ผมโหลดมาแล้วนะครับ เปิดด้วย notepad
มันจะมีแถวประมาณ
DEFAULT CHARSET=utf8
กับที่อยุ่ใน table CHARSET=utf8
คือเราแก้เป็น CHARSET=tis-620
แล้ว import ผ่าน phpmyadmin เลยใช่ไหมครับ

ตกลงเป็น latin 1 หรือ utf กันแน่ครับ
ถ้าเป็น utf ก็ต้อง convert file ให้เป็น tis-620 ด้วยครับ

ผมก็งงนะครับ ตัว host เป็น latin1 แต่เวลา แตกออกมาได้แบบนี้อะครับ

แล้วอ่านภาษาไทยในไฟล์ออกมั้ยครับ

เป็นผมก็ import แบบปรกติ แก้ code ให้ mysql_connect latin1 ง่ายกว่าใหมคับ

เปิดด้วย notepad อ่านออกนะครับ
ตัวอย่าง ตัดมา “5:41:05’,'อยากทานพะโล้มากๆ ชอบค” :slight_smile:

ก็โฮสเค้า default latin1 แต่ลูกค้าคุณเค้าเซตเป็น utf8 เองไงครับ

แบบนี้ไม่มีปัญหาครับ
ลบ DEFAULT CHARSET=utf8 ออกจากไฟล์ sql แล้ว Import ไปเลยครับ
ถ้ายังมีปัญหาเรื่องภาษาไทยก็ให้แก้ code เอา
หาช่วงที่มีการ connect database แล้ว query
“SET NAMES ‘latin1’”
ถ้ายังไม่ได้อีก ให้เปลี่ยนจาก latin1 เป็น utf8 หรือ tis620 ดูครับ