PHP : can’t display thai on PHP page

ปัญหาโลกแตกสำหรับนักพัฒนาเว็บที่ต้องยุ่งเกี่ยวกับฐานข้อมูล โดยเฉพาะการแสดงผลในเรื่องภาษาที่ไม่ใช่ภาษาอังกฤษ มักจะประสบปัญหาว่า บนหน้าเว็บเพจ PHP แสดงเป็นตัวอักขระที่อ่านไม่ออก หรือแสดงเป็นเครื่องหมาย ???? เป็นต้น

สำหรับตัวอย่างนี้

ฐานข้อมูล MySQL มีการสร้างโดยกำหนด charset = UTF8 ดังนั้นบน PHP web page ก็จะต้องกำหนด charset ให้ตรงกันด้วย 2 ตำแหน่งที่มักลืมกำหนด charset มีดังนี้

1. การกำหนด charset ในการเชื่อมต่อฐานข้อมูล

$conn=mysql_connect($serverIp,$userName,$password);
mysql_set_charset(‘utf8’,$conn); # <<< เพิ่มบรรทัดนี้เข้าไป
$link=mysql_select_db($dbname,$conn);

2. การแสดงผลบน html

โดยปกติเรามักสร้างไฟล์ header.php ไว้อยู่แล้ว เพื่อง่ายต่อการแก้ไข เราก็จะเข้าไปแก้ที่ไฟล์เดียวเลย โดยเพิ่มบรรทัดนี้เข้าไปตรง META

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

เพียงเท่านี้ก็สามารถแสดงเว็บเพจที่มีข้อความภาษาไทย หรือ ภาษาท้องถิ่นต่างๆได้แล้วครับ

You may also like...

Leave a Reply

Your email address will not be published.