แก้ปัญหาภาษาไทยเป็น ?????? ใน MySQL Database ด้วย C#

หลายคนคงเคยเจอปัญหาโลกแตกแบบนี้นะครับว่าทำไมเก็บข้อมูลภาษาไทยแล้วเป็น ?????? ทุกครั้งเลยเมื่อเขียนโปรแกรม C# ติดต่อด้วย MySQL Connector วันนี้ผมจะอธิบายแบ่งเป็นข้อๆ นะครับหลักๆ เลยจะเก็บข้อมูลเป็นภาษาไทยได้จะต้องประกอบไปด้วย 2 อย่างหลักๆ ครับ

  • Database ที่จะใช้เก็บต้องเป็น UTF8 เราสามารถดูได้ว่า Database ของเรานั่นเป็น UTF8 หรือเปล่าได้โดย Collation ของ Database นะครับดังเช่นดังภาพข้างล่าง เราสามารถดูได้จาก phpMyAdmin ด้วยเหมือนกันครับ ตัว Collation นี้เราสามารถตั้งค่าได้ตอนที่เราสร้าง Database ได้เลยนะครับ หรือว่าจะเปิด Database มาแก้ไขที่หลังก็ได้เหมือนกันครับ
  • MySQL String Connection ถูกต้องแล้วครับต้อง MySQL String Connection นั่นจะต้องเป็น UTF8 ด้วยครับ โดยตัว String นั่นจะต้องมีการกำหนด CharSet ด้วยนะครับดังตัวอย่างนี้ครับ "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; CharSet=UTF8;"


สำหรับคนที่ต้องการอะไรที่มันง่ายๆ นะครับไม่ต้องเขียนโค็ดให้มันมากมายผมแนะนำให้โหลด Database Class ที่ผทเขียนขึ้นมาครับ ใช้งานง่ายมาก เขียนโปรแกรมติดต่อ MySQL Database ง่ายเพียงไม่กี่บรรทัดเองครับ ดาวโหลดได้ที่นี้เลยครับ https://docs.google.com/open?id=0B6fg6ym3_QsSbEF6bHhnY0dEQTQ
  • ขึ้นตอนแรกสร้างโปรเจ็ดก่อนครับ แล้วดาวโหลด API มาเก็บไว้ที่ไหนก็ได้นะครับผมจะเก็บไว้ที่ C:\Library\Database.dll
  • จากนั่นทำการเพิ่ม Reference ก่อนครับ


  • จากนั่นเราก็มาเขียนโปรแกรมกันครับ
  • จากนั่นเราก็รันโปรแกรมครับแต่ต้องแน่ใจด้วยนะครับว่า MySQL Database Service นั่นทำงานอยู่นะครับ ถ้าทำงานได้แล้ว เราก็ไปดูข้อมูลในตาราง simple_table ครับว่าเป็นภาษาไทยหรือไม่

ถ้าอ่านแล้วชอบอย่าลืมช่วยกด Like Fan Page ที่ http://www.facebook.com/PStudioDev ด้วยนะครับ ขอบคุณครับ