รบกวนถามครับ
คือ ผมใช้ php ดึงฐานข้อมูล access มันแสดงภาษาไทยได้ก็ต่อเมื่อ เป็น window874 ถ้าเป็น utf-8 จะเป็น สี่เหลี่ยม
แต่ถ้า ทำให้ เป็น window874 จะแสดงผลได้ถูกต้อง ตอนโหลด แต่พอ ส่วนที่รันด้วย Ajax ขึ้นมาใหม่ ส่วนที่โหลดใหม่จะเป็นสีเหลี่ยมหมดเลย ทั้ง ข้อความธรรมดา และดึงจากฐาน access
ไม่ทราบว่าจะต้องแก้ไขยังไง ครับ
ขอบคุณล่วงหน้าครับ
เรื่อง db ผมไม่แน่ใจน่ะครับ ว่า access ตอนสร้างสามารถกำหนดให้เป็น utf-8 ได้เหรอป่าว แต่ถ้าบอกว่า ข้อความธรรมดาก้อ่านเป็นตัวสี่เหลี่ยม ผมว่าน่าจะเกิดมาจากการที่ หน้าที่สร้างไม่ได้ converter เป็น utf-8 เรื่อง utf-8 บนเว็บมีครับ ที่ how to ลองหาดูครับ
ลองดู บททที่ 11 การใช้งาน AJAX กับภาษาไทย
ไม่รู้จะช่วยได้ป่าว
ไม่รู้จะช่วยได้ป่าว
ตามความเข้าใจผมนะ คิดว่า mdb น่าจะเก็บข้อมูลเป็น Ansi มากกว่า UTF-8 ดังนั้นหากใช้ AJAX เรียก มันจะอ่านเป็น UTF-8 ซึ่งทำให้การส่งค่ากลับผิดพลาดได้ ส่วนการเรียกเพจธรรมดานั้นคงเป็น TIS-620 อยู่แล้วเลยไม่ค่อยมีปัญหา
การแก้ไขคิดว่าคงต้องใช้วิธีแปลง UTF-8 ให้เป็น TIS-620 ด้วยฟังก์ชั่น iconv() ก่อนส่งกลับครับ ถึงจะทำให้การส่งค่ากลับได้ถูกต้อง
รายละเอียดลองหาบนเว็บครับ
การแก้ไขคิดว่าคงต้องใช้วิธีแปลง UTF-8 ให้เป็น TIS-620 ด้วยฟังก์ชั่น iconv() ก่อนส่งกลับครับ ถึงจะทำให้การส่งค่ากลับได้ถูกต้อง
รายละเอียดลองหาบนเว็บครับ
เพิ่มเติมต่ออาจารย์
iconv ( string $in_charset , string $out_charset , string $str );
iconv("๊UTF-8", "TIS-620", "This is a test.");
iconv ( string $in_charset , string $out_charset , string $str );
iconv("๊UTF-8", "TIS-620", "This is a test.");
ขอบพระคุณ อย่างสูง เลยครับ ได้แล้วครับ มีปัญหา ต่ออีกที ตอน บันทึก ใช้ iconv ก่อน ส่งค่าไป ก็ได้แล้วครับ
ขอบคุณมาก ๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ