การตั้งค่า charset มาตรฐานให้ MySQL

ค่ามาตรฐาน Charset ของ MySQL ที่กำหนดมาให้หากเราไม่ตั้งค่าอะไรจะมีค่าเป็น latin1 ครับ ซึ่งเป็นเหตุผลที่ทำให้เวลาเราทำเว็บไซต์ทำไม output ที่ออกมาจากฐานข้อมูลบางค่ากลายเป็นภาษาต่างดาว ภาษาอักขระที่อ่านไม่ออก


เราสามารถแก้ไขได้โดย เพิ่มการตั้งค่าดังต่อไปนี้ลงในไฟล์ /etc/my.cnf
nano -w /etc/my.cnf


การตั้งค่าที่เพิ่มเข้าไป
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8


สามารถเปลี่ยน utf8 เป็น tis620 หรือ cahrset อื่นๆ ได้ตามต้องการครับ เสร็จเรียบร้อยแล้วให้ restart MySQL
service mysqld restart


ข้อควรจำ
- การตั้งค่านี้ควรปรับแต่งให้เรียบร้อยก่อนสร้างฐานข้อมูลใดๆ บน Server เพื่อที่จะได้ไม่ต้องมา convert ฐานข้อมูลที่สร้างเป็น latin1 ไปแล้วทีหลัง
- เมื่อดำเนินการด้านบนแล้ว ฐานข้อมูลที่เคยสร้างเป็น latin1 อาจมีปัญหาเรื่อง charset ได้ครับ

Was this answer helpful?

 Print this Article

Also Read

วิธีซ่อมแซมฐานข้อมูล MySQL แบบอัตโนมัติ

MySQL Database เมื่อใช้งานไปนานๆ อาจมีตารางที่เสียหายโดยไม่รู้ตัว ทำให้ฐานข้อมูลทำงานช้า และ...

การตรวจสอบฐานข้อมูลด้วย Slow query log

วิธีการนี้มีประโยชน์ สำหรับตรวจสอบว่ามี ฐานข้อมูลไหนบ้างใน Server ที่มีการ query...

วิธี Import และ Export Database ผ่าน ssh

หากคุณมีฐานข้อมูลขนาดใหญ่มากจนไม่สามารถ Import และ Export Database ผ่าน phpmyadmin ได้ การเลือก...