แก้ปัญหา ภาษาไทย PHP กับ MySQL ด้วย tis-620

บ่อยครั้งที่มักเจอปัญหาเวลาใช้ PHP Query ข้อมูลภาษาไทยจาก MySQL แล้วกลายเป็น ????
วิธีแก้ไขคือให้ทำการ Set ค่า Collation ให้เป็น tis620_thai_ci







หรือจะเลือก Default ไว้ตั้งแต่ตอน create database เลยก็ได้เช่นกัน











เสร็จแล้วตอนที่ PHP connect  MySQL Database ให้ทำการกำหนด Collation name ด้วยคำสั่งนี้
mysql_query("SET NAMES TIS620");
ตัวอย่างเช่น
<?
$username="test";
$password="test";
$database="test";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
mysql_query("SET NAMES TIS620");
?> 


กรณีนี้เราสามารถใช้  UTF8 แทน TIS620 ได้ด้วยวิธีเดียวกันครับ
ซึ่งหลังๆ ผมแนะนำให้เป็น UTF8 จะดีกว่านะ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java