ปัญหาภาษาไทย TIS-620 กับ AJAX

พอดีเมื่อวานนี้มีเพื่อนถามมาทาง MSN ว่าเว็บมีปัญหาใช้ภาษาไทยกับ AJAX ไม่ได้ คือส่งภาษาไทยไปแล้ว อ่านไม่ออกใน MySQL ส่วนตัวนั้นมีประสบการณ์เกี่ยวกับปัญหาภาษาไทยมาบ้าง ถึงจะไม่มาก แต่ก็พอจะมั่นใจได้ว่า AJAX ไม่น่ามีปัญหากับภาษาไทย แต่มันไม่ใช่กับกรณีนี้ มาดูกันที่ส่วนประกอบต่างๆกันก่อน Web Page (TIS-620) + AJAX (TIS-620) <–> PHP(TIS-620) <–> MySQL (TIS-620) ดูๆจากข้างต้นก็ไม่น่าจะมีปัญหาอะไร อย่างแรกผมเอา FireBug จับ XHR ดูก่อนเลย เป็น HTTP Post และพบว่าอ่านไทยไม่ออกครับ ผมแปลกใจมากๆ ทั้งๆที่ Header บอกว่า charset เป็น TIS-620 ลองถาม Google ดูจึงพบว่า AJAX มีปัญหากับ TIS-620 จริงๆด้วย เพราะมันส่งเป็น UTF-8 (จริงๆมีวิธีเปลี่ยนแต่ค่อนข้างยุ่งยาก) ดังนั้นภาพข้างบนจึงผิด จริงๆต้องเป็นแบบนี้…

Playing with Google App Engine (Java API)

บันทึกไว้ซะหน่อยว่าเล่นอะไรไปกับ Google App Engine ในส่วนของ Java API บ้าง 1. URL Fetch Service มีข้อจำกัดว่า timeout นั้นสูงสุดที่ 10 seconds และต้อง set ค่าทุกครั้ง เพราะ default คือ 5 seconds 2. JDO รายละเอียดเยอะ แต่เอกสารของ Google ทำได้ดีในระดับหนึ่ง และดูเหมือนว่า Google แนะนำให้ใช้ JDO มากกว่า JPA 3. Local Admin Console ถ้าอยากดูว่าใน Local Datastore มีอะไรอยู่บ้างให้เปิดไปที่ http://localhost:8080/_ah/admin โดยสามารถแสดงรายการ กับลบ entities ได้เท่านั้น ไม่สามารถ เพิ่ม, แก้ไข, หรือแม้แต่ search…