การใช้ Navicat 8.0 convert database to utf-8
สำหรับท่านที่ต้องการจะเปลี่ยนฐานข้อมูลจาก Latin1 มาเป็น utf-8 สามารถทำได้ง่ายๆ
ด้วย Navicat 8.0
ขั้นตอนการดำเนินการ
1.เชื่อมต่อฐานข้อมูลด้วย Encoding 874-(ANSI/OEM-Thai)
2. เปลี่ยนฐานข้อมูลให้เป็น utf-8
3. เปลี่ยนตาราง และฟิลด์ varchar , text ให้เป็น utf-8
4.export ข้อมูลออกเป็นไฟล์เท็ก
5.เปลียนไฟล์ที่ export ให้เป็น utf-8
6.เปลี่ยน encoding connection โปรแกรม navicat ให้เป็น utf-8
7.ลบตาราง เก่าทิ้ง( หรือจะ rename ไว้ก่อน กันเหนียว ก็ได้)
8.import ไฟล์ที่ export เข้ามา
9.ปิด connection แล้วเปิดใหม่ เพื่อดูผลลัพธ์ ( ถ้าไม่ปิดแล้วเปิดใหม่
จะไม่เห็นตารางที่เพิ่ง import เข้าไป )
** ถ้าไม่ทำตามขั้นตอนนี้ เมื่อท่านเปิดฐานข้อมูลด้วย phpMyAdmin ตัวหนังสือจะแสดงเป็นยุกยิก
ลองเปลี่ยนแค่โครงสร้าง โดยไม่ทำ export import แล้วเปิดด้วย phpMyAdmin ดู
จะเห็นข้อมูลเป็นยุกยิก แต่ถ้าทำครบทั้ง 9 ขั้นตอน ตามที่แนะนำ เปิดดูด้วยอะไรก็จะไม่ยุกยิก
เพราะมันเป็น utf-8 100% ตั้งแต่ ฐานข้อมูล ตาราง ฟิลด์ จนถึง ข้อมูลที่เก็บอยู่ข้างใน
ลุย+++
1.เชื่อมต่อฐานข้อมูลด้วย Encoding 874-(ANSI/OEM-Thai)
ขั้นตอนนี้สามารถดูได้จากหัวข้อก่อนหน้า
2. เปลี่ยนฐานข้อมูลให้เป็น utf-8
- ดับเบิลคลิกตัวเชื่อมต่อ
-คลิกขวา ฐานข้อมูล ที่ต้องการเปลี่ยนให้เป็น utf-8
-เลือก Database Properties…
โปรแกรมจะเปิดหน้าต่าง Database Properties… ขึ้นมา จากนั้น
-เปลี่ยน Character set: เป็น utf8—UTF-8 Unicode
-เปลี่ยน Collation: เป็น utf8_general_ci
3. เปลี่ยนตาราง และฟิลด์ varchar , text ให้เป็น utf-8
-ดับเบิลคลิกที่ Tables
- คลิกขวาบนตารางที่ต้องการจะเปลี่ยนให้เป็น utf-8
-เลือก Design Table เพื่อแก้ไขโครงสร้างตาราง
หลังจากเลือก Design Table โปรแกรม Navicat 8.0 จะเปิดหน้าต่าง Table
Design ขึ้นมา หน้าตาแบบนี้ ครับ
ที่แท็บ Fields เปลี่ยน ฟิลด์ varchar/text ให้เป็น utf-8 ให้หมด
คลิกแท็บ Options
- เปลี่ยน Character set : เป็น utf8—UTF-8 Unicode
- เปลี่ยน Collation : เป็น utf8_general_ci
- กดปุ่ม Save เพื่อบันทึกสิ่งที่ได้เปลี่ยนแปลงไป
- กดปิดหน้าต่าง Table Design ไปได้เลย
**มีคนถามว่าเปลี่ยนแค่นี้น่าจะเรียบร้อย ยังครับ ถึงโครงสร้างจะเป็น
utf-8 แล้วก็จริง แต่ข้อมูลที่เก็บอยู่ข้างใน ยังไม่เป็น utf-8 ต้อง export
ออกไป แก้อีกนิดหน่อย แล้วเอากลับมา ทุกอย่างก็จะสมบูรณ์แบบ
4. Export ข้อมูลออกเป็นไฟล์เท็ก
-คลิกขวาที่ ตารางเมื่อกี้ เลือก Dump SQL File
โปรแกรมจะให้ระบุที่เก็บไฟล์ เลือกสถานที่ๆเหมาะๆ แล้วก็ Save และรอจนกว่าจะ
5.เปลียนไฟล์ที่ export ให้เป็น utf-8
-เปิดไฟล์ที่ export ออกไปเมื่อกี้ ขึ้นมาด้วย notepad
-คลิก File > Save As…
- หน้าต่าง Save As… ตัวเลือก Encoding เลือกเป็น UTF-8
- เสร็จแล้ว กดปุ่ม Save
6. เปลี่ยน encoding connection โปรแกรม navicat ให้เป็น utf-8
-คลิกขวาที่ตัว Connection
-เลือก Connection Properties…
-ถ้ามีไดอะล็อกขึ้นมาถามว่า " ต้องปิดก่อนเชื่อมต่อก่อนเน้อ จะปิดหรือเปล่า" ก็ตอบ
OK แต่ถ้าไม่มีไดอะล็อกอะไรขึ้นมาถาม ก็อย่าได้กังวล
-หลังจากที่เรา OK ไปแล้ว โปรแกรมก็จะเปิดหน้าต่าง Connection ขึ้นมา
ให้เราคลิกที่ แท็บ Advance
ติ๊กเครื่องหมายถูกหน้าตัวเลือก Use MySQL character set แล้วก็ OK
7. ลบตาราง เก่าทิ้ง( หรือจะ rename ไว้ก่อน กันเหนียว ก็ได้)
-คลิกขวาที่ ตาราง ที่เราเพิ่ง export ออกไปก่อนหน้า
-เลือก Delete Table
- ตอบ OK
ในกรณีที่ไม่ต้องการลบ แต่ต้องการเปลี่ยนชื่อเพื่อแบ็กอัพไว้ก่อน ให้คลิกขวาที่ตาราง
เลือก Rename เสร็จแล้ว ก็เปลี่ยนชื่อ ตาราง ได้ตามใจชอบ แต่แนะนำว่า ให้ลงท้ายตารางด้วย
_backup ก็จะดี เมื่อดูจะได้รู้ว่ามันเป็นตาราง แบ็กอัพ
8. import ไฟล์ที่ export เข้ามา
-คลิกขวาที่ Tables
-เลือก Execute Batch File
โปรแกรม จะเปิดหน้าต่าง Execute Batch File ขึ้นมา
- ช่อง File คลิกปุ่มเล็กๆด้านหลัง เพื่อเลือกไฟล์ที่เราได้จัดเตรียมไว้
-ช่อง Encoding เลือกเป็น 65001(UTF-8)
-คลิก Start
-รอจนกว่าจะ Successfully
9. ปิด connection แล้วเปิดใหม่ เพื่อดูผลลัพธ์ ( ถ้าไม่ปิดแล้วเปิดใหม่
จะไม่เห็นตารางที่เพิ่ง import เข้าไป )
และแล้วฐานข้อมูลก็ได้เปลี่ยนเป็น utf-8 อย่างสมบูรณ์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น