Saturday, May 17, 2008

ปัญหาการแสดงผลภาษาไทยเป็น ??? ใน MySQL4.1.x ขึ้นไป

  • หลายๆคนคงเจอปัญหาเรื่องการแสดงผลภาษาไทยเมื่อเปลี่ยนจากฐานข้อมูล MySQL เวอร์ชั่นเก่าๆมาเป็นเวอร์ชัน 4.1.x ขึ้นไป วันนี้ผมมีคำตอบและวิธีแก้ไขครับ
  • หลักการก็คือเมื่อมีการ connect mysql ที่มีการรับส่งภาษาไทยเมื่อไร ให้นำ TAG
mysql_query("SET NAMES 'tis620' ");
  • ไปวางไว้หลังบรรทัดคำสั่ง mysql_connect หรือ mysql_pconnect ทันทีครับ ปัญหาเรื่องภาษาไทย กับ MySQL เวอร์ชั่น 4.1.X ก็จะหมดไปทันทีครับ แต่ก็ต้องไม่ลืมที่จะต้องตั้ง charset ต่างๆของฐานข้อมูลให้เป็น TIS620 ด้วยนะครับ ตรวจสอบลึกเข้าไปถึงในตารางด้วย ว่า charset ของแต่ละตารางเป็น TIS620 ด้วยหรือไม่
  • สุดท้าย สคริปใดสามารถใช้งาน UTF-8 ได้ แนะนำให้ใช้ทันที เพราะจะทำให้ไม่ต้องแก้ tag ดังกล่าวข้างต้นที่กล่าวมาทั้งหมดครับ เพราะสามารถใช้งานในภาษาไทยได้ครับ ซึ่งสคริป ที่รองรับ UTF-8 ส่วนใหญ่จะเป็นสคริปที่ใหม่ๆครับ

No comments: