Thursday, July 31, 2008

PHP และ MySQL กับการแสดงผลภาษาไทย

หลังจาก upgrade version ก็เกิดปัญหาการแสดงผลภาษาไทย
ตายละวา Database เราเจ๊งรึป่าวน้อ

ไม่นะ! ภาษาอังกฤษ ยังแสดงผลได้นี่นา
พอเปิดดู Database ก็โล่งอก เฮ้อ ยังอยู่ดีจริง ๆ ด้วย


แสดงว่าปัญหาน่าจะอยู่ที่การแสดงผล
ใช่จริง ๆ ด้วย Firefox มันแสดงผลเป็น UTF-8 นี่เอง

งั้นลองเปลี่ยนเป็น TIS-620 ซิ

โธ่เอ๊ย แค่นี้เอง จิ๊บ ๆ

แต่หลังจากนั้นก็มีโทรศัำพท์มาทั้งวัน
"น้อง web มีปัญหารึป่าวเนี่ย อ่านไม่ออกเลย"
"เปล่าครับพี่ แต่ต้องเปลี่ยน Encoding ครับ ทำแบบนี้ครับ ..."

โอ้ว บ่อยครั้งอย่างนี้สายัณห์รับไม่ได้ครับ หาวิธีแก้ดีกว่า google google นั่นไงล่ะ เจอเพียบ
บ้างก็บอกให้แก้ที่ MySQL ( http://gotoknow.org/blog/krunapon/69399 )

- เปิด my.ini ขึ้นมาโดยกดที่ Start -> run พิมพ์ my.ini แล้วกด Enter
ในส่วนของ [client] ให้เพิ่ม
default-character-set = tis620
ในส่วนของ [mysqld] หลัง database directory ให้เพิ่ม
default-character-set = tis620
character-set-server = tis620
collation-server = tis620_thai_ci
init_connect = 'SET collation_connection = tis620_thai_ci'
init_connect = 'SET NAMES tis620'
จากนั้น Restart MySQL

บ้างก็บอกให้แก้ที่ PHP

mysql_select_db($DatabaseName,$Conn) or die ("ไม่สามารถติดต่อกับฐานข้อมูลได้");

$cs1 = "SET character_set_results=tis620";
mysql_query($cs1) or die('Error query: ' . mysql_error());

$cs2 = "SET character_set_client = tis620";
mysql_query($cs2) or die('Error query: ' . mysql_error());

$cs3 = "SET character_set_connection = tis620";
mysql_query($cs3) or die('Error query: ' . mysql_error());



ทำไมของเราไม่ work หว่า

หลังจากลองอยู่พักใหญ่ ก็ต้องตัดใจ ใช้วิธีลูกทุ่ง ตรงไปตรงมา
header('Content-type: text/html; charset=tis620');

แต่มันต้องทำทุก file นี่สิ ใครมีวิธีดี ๆ ชัวร์ ๆ ช่วยบอกด้วยนะครับ

1 comment:

son cho said...

dongtam
game mu
http://nhatroso.net/
http://nhatroso.com/
nhạc sàn
tư vấn luật
dịch vụ thành lập công ty trọn gói
công ty luật
tổng đài tư vấn pháp luật
thành lập công ty
http://we-cooking.com/
chém gió
trung tâm ngoại ngữkịch mà thôi, căn bản không có để ý tới hắn, đợi được kia Ma La nói xong, Tiêu Viêm mới vừa rồi nhàn nhạt nói rằng "Biện pháp hay không tính là, bất quá thu thập ngươi dư dả!"

Kia Ma La nghe được Tiêu Viêm nói như vậy, lập tức, kia tái nhợt trên mặt cũng là hơn một mạt nhan sắc, bàn tay chẳng biết khi nào, cũng là chăm chú soán tại cùng nhau, hiển nhiên có thể biết, kia Ma La đã nổi giận.

Trầm thấp thanh âm vang lên "Tiêu Viêm, ta biết ngươi, của ngươi sức chiến đấu xa xa vượt lên trước của ngươi bản thân, thế nhưng với ta mà nói, tại tuyệt đối thực lực hạ, tất cả đều là vô dụng, ngươi, ngày hôm nay nhất định! Hiện tại chịu thua, ta nhưng thật ra có thể lòng từ bi, tha cho ngươi một mạng!"

Của ngươi lời vô ích nói xong ba (đi) , chiến cùng bất chiến, tự mình lựa chọn , như vậy mà bắt đầu, bất chiến, vậy lăn xuống đi! Đừng ở chỗ này mài mài chít chít! Cho ngươi ba tức thời gian, quyết định đi!