เอ่อ ... มันมีวิธีง่ายกว่านั้นนะครับ สำหรับคนที่เช่า hosting เขา แล้วไม่สามารถแก้ไข my.cnf ได้
ลองสร้าง database ขึ้นมา 1 อัน ใช้ phpmyadmin ก็ได้ แล้วตั้งให้ Collation เป็น utf8_general_ci
จากนั้น ลอง import ไฟล์ .sql เข้าไปดู โดยเลือก Character set of the file เป็น UTF8
(กรณี ภาษาไทย หรือ ascii ให้ใช้ latin1 เพื่อจะได้ compatible กับ mysql 4.0.x)
จากนั้น ใช้ code นี้ครับ
Code:
<?
$dbconn = mysql_connect($hostname, $db_username, $db_pass) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($db_name,$dbconn) or die('ERROR: Connect Database failed');
mysql_query("SET NAMES UTF8"); // <- สำคัญที่ตรงนี้
?>
ในส่วนตรงนี้ มันเป็นการประกาศให้รู้ว่า เราจะเรียกข้อมูลออกมาโดยใช้ charset เป็น UTF8
Code:
mysql_query("SET NAMES UTF8");
จากนั้นที่ page meta header ของ html ให้ใช้ charset="utf-8"
(กรณี ภาษาไทย หรือ ascii ให้ใช้ tis-620 ได้ตามปกติ)
ลองดูนะครับ อย่าลืมว่า ต้อง save ไฟล์เป็น utf8 ด้วย
(กรณี ภาษาไทย หรือ ascii ไม่ต้อง save as เป็น utf8 ครับ)
ปล. คำสั่ง mysql_set_charset() ยังไม่เคยลอง เดี๋ยวต้องเอาไปลองดูครับ