ผมได้ยินคำถามนี้มาจากหลายๆ ที่ว่าทำไมบันทึกข้อมูลภาษาไทยแล้วเป็น ?????? มีหลากหลายวิธีที่จำแก้ปัญหา แต่ผมขอแนะนำไว้ดังนี้
ทุกๆ อย่างๆ ในทุกๆ layer เป็น UTF-8 ดังนี้
- jsp file ก็ใส่ encoding เป็น UTF-8
- Servlet ก็ใส่ Servlet Filter ให้กำหนด request.setcharecterEncoding( "UTF-8" )
- URL Connection String จาก Hibernate ไป DBRMS ก็ใส่ encoding=UTF-8 ไปด้วย ถ้า RDBMS สนับสนุน
- และสุดท้าย DB ของคุณต้องเป็น UTF-8 ด้วยครับ ทั้ง DB, Table, Column
ถ้าคุณทำเพียงเท่านี้คุณก็จะไปเจอปัญหา ??? อีกแล้วครับ
^_^ ^_^ ^_^
Related link from Roti