ipanba
41
บนโฮสต์ที่ใช้ phpmyadmin 2.5.4 ครับ ผมใช้ tis-620 แล้ว export db ออกมาเปิดด้วย editplus ก็อ่านไม่ออกครับ มันเป็น
ถ้าเอาไป import ใส่ 2.5.4 เหมือนเดิมก็เน่าเลย ออกมาเป็น latin1_swedish_ci พร้อมกับ ? ? ? ? แต่ยังพอมีทางแก้เพราะว่าโฮสต์ใช้ direct admin ก็เลย import ผ่านทาง cp มันก็เป็นไทยให้ครับ อันนี้เลยหมดห่วง
แต่ผมอยากจะรู้วิธีการแก้ปัญหาที่ถูกวิธีน่ะครับ เพราะถ้าหากว่าเช่าโฮสต์ที่ไม่ได้ใช้ direct admin คงจะใบ้กินเลยอ่ะ
ดังนั้นผมจึงโหลด appserv 2.4.8 มาทดสอบครับ โดยมันเป็น phpmyadmin 2.9.2 ผมลอง export จาก 2.5.4 บนโฮสต์ไป import ใส่ 2.9.2 มันเป็น ? ? ? ครับ ต้องทำอย่างไรครับ ผมลองแล้วมันเป็น latin1_swedish_ci แล้วภาษาไทยก็เป็น ? ? ? หมดเลย ทำไงดีเนี่ย
kke
42
ที่เก่ามันเป็นอยู่แบบนี้ครับ จะเห็นว่ามีทั้ง utf และ latin1 ปนกันอยู่
ให้แยก export เป็น 2 ไฟล์ คือส่วนที่เป็น utf และ latin1 แยกกัีนคนละครั้ง โดยเลือก compatible เป็น mysql4.0
สำหรับที่กลางที่ import แล้วได้เนื่องจาก default charset ของ db เป็น latin1 ครับ คลิดดูได้จากคลิกที่ชื่อ db ด้านซ้าย แล้วเลือกที่ Operation ด้านขวาบน
สำหรับที่ใหม่ที่ไม่ได้เนื่องจาก default charset ของ db เป็น tis620 ก็ต้องเลือกเปลี่ยนเป็น latin1_swedish_ci ให้เหมือนกับที่เดิมซะก่อน
จากนั้นก็ทำการ import ไฟล์ db ที่ export มาจากที่เก่าเข้าไป
โดยเลือก charset ตอน import เป็น utf8 หากไม่ได้ก็ให้ลอง latin1
bunpot
43
แบบนี้ก่อน export เราเปลี่ยนให้เป็น tis620 หรือ utf8 ให้ตรงกับโฮสใหม่ทั้งหมดก่อนได้มั้ยครับ
พอ export ออกมาแล้วนำไป import จะมีปัญหามั้ยครับ
ปล.น่าจะปักหมุดกระทู้นี้นะครับ มีประโยชน์มากทีเดียว
ohaeey
45
แล้วกรณีที่ถูกบ้าง เพี้ยนบ้าง แบบนี้ เพราะสาเหตุอะไรเหรอครับ
[quote]
fon3m
47
ของเก่าเป็น 2.5.4เก็บเป็นtis620 ของใหม่ 2.10.1ลองเป็น utf8,tis620 จะเป็น ??? เลยลอง latin1 , binary ตามที่พี่ๆบอก แต่ว่ามันออกเป็น ฑฆฒธ ค่ะ แต่ว่าตอนexportจากที่เก่าออกมาก็อ่านออกเป็นภาษาไทยปกตินะคะ อย่างงี้แก้ยังไงคะ ขอบคุณค่ะ
bunpot
48
พอดีไปอ่านบทความที่ thaidev มา เลยนำมาฝากกันครับ
ชื่อบทความ : ทําไมย้ายข้อมูล MySQL แล้วจึงเป็น ?? ?? ?? ? ??
ที่อยู่บทความ : http://www.thaidev.com/index.php?cmd=showtitle&id=221
ถ้าใครลองใช้วิธีนี้แล้วได้ผล มาบอกกันด้วยนะครับ
mysql_query เพิ่มเข้าไปได้ผลจริงๆครับ
ของผมใช้ utf8 ลูกค้าดีส่วนมากใช้ tis620 ทั้งนั้นเลย เลยต้องคอยแก้ให้ลูกค้าครับ
จะมีปัญหากับ CMS สักส่วนใหญ่
แชร์ กันครับ เพิ่งทำได้วันนี้ เมื่อคืนทำกันทั้งคืน ไม่สำเร็จ ??? ตลอด
เช้ามาทำใหม่ ก็ได้จนได้
- ต้นฉบับ. phpmyadmin 2.6.2
bunpot
52
[quote author=iTfever.com link=topic=6764.msg96169#msg96169 date=1203309881]
แชร์ กันครับ เพิ่งทำได้วันนี้ เมื่อคืนทำกันทั้งคืน ไม่สำเร็จ ??? ตลอด
เช้ามาทำใหม่ ก็ได้จนได้
- ต้นฉบับ. phpmyadmin 2.6.2
bunpot
54
[quote author=thaidhost link=topic=6764.msg96204#msg96204 date=1203334327]
http://www.chaleefm97.com/webboard/index.php?PHPSESSID=8e8044900678920415face976314070e&topic=852.msg1297;topicseen#new
ผมยังแก้ไม่ได้เลยครับ
db ที่ โฮสเก่าลูกค้า ก็อ่านไม่ออกอยุ่แล้ว dump ออกมา ก็อ่านไม่ออก
พอดี พี่แมน Service ให้น่ะครับ ทันใจจริง ๆ
kke
56
โอย งงอยุ่ตั้งแต่เช้า ถึงเย็นแล้วครับ ช่วยให้คำแนะนำหน่อยครับ
Host เดิมใช้ Hostgator
phpMyAdmin - 2.11.4
MySQL client version: 4.1.22
ตัวเวบเป็น UTF-8 บันทึกข้อมูล เรียกมาแสดงผลภาษาไทยไม่มีปัญหา
แต่พอย้าย server มาเป็น
phpMyAdmin - 2.11.3
MySQL client version: 5.0.45
ภาษาไทยกลายเป็น ? ลองเลือก collation หลายๆแบบแล้วก็ยังไม่ได้
ช่วยแนะนำหน่อยครับ มันต้อง Export อย่างไร Import อย่างไร?
kke
58
มันเสียต้องแต่ตอน export แล้วไงครับ เปิดดูด้วย editplus ถึงเป็น ??
ของเดิมเว็บเป็น UTF8 ก็จริงแต่ว่าเก็บข้อมูลแบบ UTF8 ไว้บนตารางแบบ Latin1 ครับ (ดูภาพแรกจะเห็น Latin1_swedish_ci ด้านขวาตาราง)
ICOM
59
ขอถามต่อแทนน่ะครับ
แล้วแบบนี้จะแก้ไขยังไงครับ ต้องไป export มาใหม่ใช่ไหม
ถ้าเกิด เลิกเช่าโฮสเก่าไปแล้ว และเขาก็เคลียข้อมูลเราออกไปแล้ว ก็ export ใหม่ไม่ได้
จะมีวิธีแก้จากข้อมูลที่ export มาแล้วไหมคับ
เขียน script ขึ้นมา convert เอาครับ โดยต้องมี 2 connection อันนึงแบบที่สามารถแสดงข้อมูลได้ถูกต้องอีกอันก็ เลือกใช้ charset อันใหม่เอาไปใส่ใน table อันใหม่ที่สร้างใน charset ที่ถูกต้อง