ปัญหาการ encoding ของ windows-874 กับ utf-8
พอดีเห็นคุณ Goragod ทำโฮสต์อยู่ เลยอยากจะเรียนถามปัญหาเกี่ยวกับ Encoding ครับ คือที่หน่วยงานผมใช้ Cent OS ในการทำ Server และผมมีเว็บเก่าซึ่งใช้ phpfusion 6 ซึ่ง Encoding เป็น Windows-874 ต่อมาภายหลังผมมาทำเว็บเพ็จเพิ่มแต่เป็น UTF-8 เนื่องจากต้องใช้ AJAX
แต่มีปัญหาคือคนที่ดูแล Server เขาบอกว่าเขายังหาวิธีทำให้ Server ที่ใช้ Cent OS สามารถใช้งานได้ทั้ง 2 Encoding ใน Site เดียวกันไท้ได้ ต้องเลือกเอาอย่างใดอย่างหนึ่ง ผมจึงต้องเลือกใช้ Windows-874 เนื่องจากเป็นเว็บหลัก ทำให้เว็บเพจชุดที่ใช้ UTF-8 มีปัญหาแสดงผลได้ไม่ถูกต้อง จึงอยากจะเรียนถามถึงแนวทางในการแก้ไขปัญหาดังกล่าว และขอขอบพระคุณมาล่วงหน้าครับ...
เว็บไซต์หลัก : http://www.wdoae.doae.go.th/2008/news.php
ตัวอย่างหน้าเว็บเพจที่เป็น UTF-8 :http://www.wdoae.doae.go.th/2008/site/agro2010/nakhonpathom.html
AddDefaultCharset UTF-8
โดยใส่ในไฟล์ .htaccess ดูครับ
จะว่าไปนะ ผมว่าไม่เกี่ยวกับ Server มั้งครับ เว็บจะเป็น UTF-8 ได้ ขึ้นกับองค์ประกอบหลายประการ เช่น meta header หรือ ชนิดของไฟล์ (Ansi หรือ UTF-8) บางทีถ้าเรื่องเหล่านี้ตกหล่น เว็บก็อาจไม่เป็น UTF-8
ส่วน db ก็เช่นกัน PHP5 จะดีกว่า PHP4 (ควรอัปเกรด) และ การเชื่อมต่อกับ db ควรทำให้ถูกต้องด้วย
รายละเอียดทั้งหมด หาอ่านได้บนเว็บครับ และควรทำทุกอย่างที่ผมบอกไว้ ถ้าทำได้ จะไม่มีปัญหาเรื่อง charset มากวนใจอีกเลยครับ ไม่ว่าจะเขียนเว็บด้วยภาษาอะไร
ผมกำลังรู้สึกว่าเจ้าหน้าที่ของหน่วยงานผม(ระดับกรม)น่าจะยัง config อะไรบางอย่างบน server ที่เป็น CentOS ได้ไม่ถูกต้อง เว็บจึงเป็นแบบนี้(ต้องเลือกเอา encoding อย่างใดอย่างหนึ่ง) เพราะตอนพัฒนาผมทดสอบบนเครื่อง localhost ทั้งบน Vista และ Linux Mint มันไม่มีปัญหา จะพยายามค้นหาวิธีการต่อไปครับ ผมคงต้องไปแก้ไขเว็บให้เป็น windows-874 แล้วใช้ iconv ไปพลางๆ ก่อน