ข้อความโดย: อั๋น ทรงวุฒิ
« เมื่อ: 26 เมษายน 2012, 10:59:10 AM »ยุคนี้ อะไรก็ต้อง UTF-8
ทั้ง Database ทั้งตัว Html (Google เก็บข้อมูลเว็บเป็น UTF-8)
ผมก็ลองใช้บ้าง เพราะ Host ส่วนใหญ่ก็เป็น UTF-8 ทั้งนั้น
คราวนี้เจอปัญหาเข้า
เอา PHP ติดต่อกับข้อมูลใน MySQL ได้ภาษาไทยเป็น ? ? ? หมดเลย
ปกติก่อนจะบันทึกใน MySQL ได้ทำ Code ทดสอบไว้ ประมาณว่า
<?
echo $query;
?>
เพื่อโชว์ค่า SQL ก่อน ซึ่งในตัวแปรที่เก็บข้อมูลภาษาไทย ก็แสดงถูกต้อง
แต่พอเข้า MySQL แล้ว Select ออกมาโชว์ปุ๊บ กลายเป็น ? ? ? หมด
เปิดดูใน phpmyadmin ก็ได้ผลเหมือนกัน คือ ? ? ?
MSN คุยกับเจ้าของ Host ก็ได้รับหน้าเว็บจาก Google กลับมาให้อ่าน (ผมก็ค้นเจอตั้้งแต่แรกแล้วล่ะ)
สรุปคือ ผมเลย Dump ฐานข้อมูลออกมา ด้วยคำสั่ง export เป็น SQL นี่แหละ
เพื่อจะลบทิ้งแล้วสร้างใหม่ ก็มาเห็นตรงท้าย structure เข้า
มันเป็น latin1 ครับ !
เปลี่ยนเป็น UTF8 ก็เอวังทันที
เสียเวลาไป 1 คืน (งานเร่งด้วยนะ)
ทั้ง Database ทั้งตัว Html (Google เก็บข้อมูลเว็บเป็น UTF-8)
ผมก็ลองใช้บ้าง เพราะ Host ส่วนใหญ่ก็เป็น UTF-8 ทั้งนั้น
คราวนี้เจอปัญหาเข้า
เอา PHP ติดต่อกับข้อมูลใน MySQL ได้ภาษาไทยเป็น ? ? ? หมดเลย
ปกติก่อนจะบันทึกใน MySQL ได้ทำ Code ทดสอบไว้ ประมาณว่า
<?
echo $query;
?>
เพื่อโชว์ค่า SQL ก่อน ซึ่งในตัวแปรที่เก็บข้อมูลภาษาไทย ก็แสดงถูกต้อง
แต่พอเข้า MySQL แล้ว Select ออกมาโชว์ปุ๊บ กลายเป็น ? ? ? หมด
เปิดดูใน phpmyadmin ก็ได้ผลเหมือนกัน คือ ? ? ?
MSN คุยกับเจ้าของ Host ก็ได้รับหน้าเว็บจาก Google กลับมาให้อ่าน (ผมก็ค้นเจอตั้้งแต่แรกแล้วล่ะ)
สรุปคือ ผมเลย Dump ฐานข้อมูลออกมา ด้วยคำสั่ง export เป็น SQL นี่แหละ
เพื่อจะลบทิ้งแล้วสร้างใหม่ ก็มาเห็นตรงท้าย structure เข้า
มันเป็น latin1 ครับ !
เปลี่ยนเป็น UTF8 ก็เอวังทันที
เสียเวลาไป 1 คืน (งานเร่งด้วยนะ)