ถ้าใช้ที่ host เช่าแล้ว มันไม่ได้ใส่ AddDefaultCharset utf-8 ใน apache
ปกติ host ให้เช่า เค้าก็ไม่ใส่อยู่แล้ว...
แต่ท่านสามารถกำหนดเองได้... ใน .htaccess (หรือ htaccess.txt) ซึ่งก็คือ text file ธรรมดา ๆ ที่ท่านสร้างขึ้น แล้วก็ upload มันขึ้นไปไว้ภายใต้ "Directory" ที่ท่านต้องการควบคุมเป็นพิเศษ (ให้สอบถามจาก host admin ว่า ตั้งให้ Apache Web Server อ่าน file ชื่ออะไร ... ส่วนใหญ่จะให้อ่าน file ชื่อ .htaccess หรือ htaccess.txt)
การสร้างเว็บ utf-8 (หรือ charset อะไรก็แล้วแต่)
1. ต้องระบุให้ ฐานข้อมูลเก็บ charset เป็น utf-8
2. ต้อง SAVE htdocs (*.php, *.html ) เป็น utf-8
3. ต้องระบุ Charset ให้ Browser ผู้รับว่าจะใช้ Charset=utf-8 โดย
+ เขียนไปที่
META TAG ของ htdocs
หรือ
+ ให้ php ส่ง Response Header ออกไป ->
header( 'Content-Type:text/html; charset=utf-8');
หรือ
+ เขียนไว้ใน .htaccess (htaccess.txt) ->
AddDefaultCharset utf-8 หรือ
+ เขียนไว้ใน Web Server Config File -> Virtual Host หรือ Directory basic ->
AddDefaultCharset utf-8
ถ้า Browser ของผู้รับ.. ไม่เจอในข้อ 3 อาจเกิดปัญหาตัวยึกยือได้ เพราะ Browser จะเลือกใช้ Default Encoding ที่ user (thai) ตั้งไว้คือ encoding=thai (ก็คือให้ใช้ Charset=tis-620 หรือ windows-874 นั่นเอง) ทำให้ผู้ใช้ต้องกดเลือก (เดา) encoding เอง
สำหรับผม ...ผมชอบให้ php ส่ง header ออกไป โดยจะเขียนเป็น common include file