๙ พ.ย. ๒๕๕๐

การใช้ Navicat 8.0 convert database to utf-8

การใช้ 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 และรอจนกว่าจะ


Successful


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 อย่างสมบูรณ์


ไม่มีความคิดเห็น: