GORAGOD.com

GAJAX กับภาษาไทย

GAJAX ออกแบบโดยคนไทย ดังนั้น ผมรับรองได้ว่ามันใช้ ภาษาไทยได้ 100%

ไม่ว่าคุณจะใช้ AJAX หรือ GAJAX คุณคงหนีไม่พ้นปัญหาความปวดหัวเรื่องภาษาไทย แต่ ถ้าคุณจะยึดถือ และปฏิบัติ ตามบทความนี้ ผมประกันได้เลยว่า คุณจะลืมปัญหาเรื่องภาษาไปสนิทเลย (เหมือนผม)

อย่างแรกที่คุณต้องทำ (จริงๆ ก็อย่างเดียว) ก็คือ เมื่อใดที่คุณคิดจะใช้ AJAX กับภาษาไทย เว็บคุณควรเป็น UTF-8 เพียงแค่คุณทำเว็บให้เป็น UTF-8 เท่านั้น ปัญหาของคุณเกี่ยวกับภาษาก็จะหมดไป

UTF-8 ไม่ได้มีดีแค่ AJAX เท่านั้นนะครับ แต่มันยังอาจจะเป็นภาษามาตรฐานของเว็บในอนาคตด้วย(ผมคิดเอง) เนื่องจากการที่มันรองรับได้หลายภาษาทั่วโลก ซึ่งแม้แต่เว็บดังๆ เช่น hotmail gmail ก็ใช้ UTF-8 กันหมดแล้ว แล้วเว็บของคุณเอง ทำไมคุณจะไม่ให้มันเป็น UTF-8

ถ้าคุณเริ่มเข้าสู่มาตรฐานวันนี้ อนาคตคุณก็ไม่ต้องเปลี่ยนอีก คุณจะแน่ใจได้ไงว่า อนาคตคุณจะไม่ได้ออกแบบเว็บ ภาษาจีน รัสเซีย และที่แน่ๆ ในอนาคตก็มีแนวโน้มว่าเว็บไซต์ต่างๆ จะหันไปใช้ AJAX กันมากขึ้น ดังนั้น คำตอบสำหรับวันนี้ ก็คือ UTF-8 เริ่มซะเถอะ....

หลายๆคนคงอาจจะบ่นๆ ว่า แล้วจะทำไงหว่า ถ้าเว็บเราเป็น TIS-620 แล้วอยากใช้ AJAX
คำตอบแบบด้วนๆ ตรงประเด็นก็คือ เปลี่ยนเป็น UTF-8 สิครับ

ขั้นแรกเลย เปิดไฟล์ทุกไฟล์บนเว็บเรา ด้วย Editplus (ไม่ได้ค่าโฆษณาเน้อ) จัดการ Save As ทุกไฟล์ให้เป็น UTF-8 สำรวจด้วยว่า ไม่ต้องใส่ BOM ลงไป
ขั้นที่ 2 จัดการแก้ไข Header ของทุกไฟล์ ให้เป็น UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
สำหรับ meta ของเพจ HTML
<?php header("content-type: text/html; charset=UTF-8"); ?>
ด้านบนสำหรับโค้ด PHP ที่ใช้รับค่าจาก AJAX ผมรับรองครับ เว็บของคุณจะเป็นภาษาไทย และใช้ AJAX ได้อย่างสมบูรณ์
ปัญหาที่พบบ่อยของการใช้ AJAX กับ ภาษาไทย
ต้องแยกปัญหาออกเป็น 2 ส่วนครับ ส่วนแรกคือ หน้าเว็บ และส่วนที่ 2 คือ ฐานข้อมูล

สำหรับหน้าเว็บแก้ปัญหาได้ง่ายๆ ดังที่ผมกล่าวไปแล้วด้านบน แต่ ปัญหาที่ยากที่สุดก็จะเป็น เรื่องฐานข้อมูล

ของเก่า ฐานข้อมูลเป็น TIS-620 แล้วจะแปลงเป็น UTF-8 ได้ยังไง
วิธีแบบลูกทุ่งในกรณีที่เราไม่มีเครื่องมืออะไรเลยนอกจาก phpMyAdmin ก็คือ Export ออกมาก่อน ได้เป็น Ansi เอาไปแปลงเป็น UTF-8 ด้วย Editplus แล้วจับมันยัดกลับเข้าไป
วิธีนี้ ไม่ยากนะครับ ไม่ต้องดิ้นรนหาเครื่องมือหรือวิธีการอะไรแค่ลงมือทำเท่านั้น แต่มันก็อาจต้องอดทนบ้าง สำหรับฐานข้อมูลใหญ่ๆ แต่ก็คุ้มที่จะทำครับ
มีเคล็ดลับนิดนึง เวลา Export ให้เอาออกมาแต่เฉพาะข้อมูล ไม่ต้องเอาตัว ฐานข้อมูลออกมาด้วย ถ้า ฐานข้อมูลมีขนาดใหญ่ ก็อาจต้องแบ่งการ Export ออกเป็นไฟล์ย่อยๆ หลายๆไฟล์ ซึ่งอาจเลือก Export ออกมาทีละตารางก็ได้ การทำเช่นนี้เพื่อลดเวลาการรอคอย จะได้ไม่รู้สึกน่าเบื่อหรือว่าไม่สำเร็จครับ
และเคล็ดลับอีกข้อ หลังจาก Export ข้อมูลออกมาแล้ว ให้ตรวจสอบความถูกต้องของ ไฟล์ที่ Export ออกมาอีกที แล้วกลับไปลบข้อมูลเดิมออกให้หมด แล้วจัดการแก้ไขให้ตารางและฟิลด์ต่างๆ เป็น UTF-8 หลายคนอาจจะงงนิดนึงตอนสร้างหรือแก้ไขฐานข้อมูล ว่ามันมีหลาย utf-8 จะเลือกอะไรดี ให้เลือก utf8_unicode_ci เลยครับ

 เพียงแค่นี้ ทั้งเว็บและฐานข้อมูลก็เป็น UTF-8 แล้ว ใช้ AJAX ได้ง่ายๆ สบายบรื๊อ......

อย่าลืมอ่านบทความเกี่ยวกับ UTF-8 บนเว็บด้วยนะครับเพราะอาจมีหลายฟังก์ชั่นที่คุณต้องเปลี่ยนแปลง เพราะ ฟังก์ชั่นมาตรฐานของ PHP ส่วนใหญ่ถูกออกแบบมาเพื่อใช้กับ Ansi ครับ