A-AA+then

รบกวนถามเรื่อง php + adodb + access

2,957

รบกวนถามครับ
คือ ผมใช้ php  ดึงฐานข้อมูล access มันแสดงภาษาไทยได้ก็ต่อเมื่อ เป็น  window874 ถ้าเป็น utf-8  จะเป็น สี่เหลี่ยม
แต่ถ้า ทำให้ เป็น window874 จะแสดงผลได้ถูกต้อง ตอนโหลด  แต่พอ ส่วนที่รันด้วย Ajax ขึ้นมาใหม่ ส่วนที่โหลดใหม่จะเป็นสีเหลี่ยมหมดเลย ทั้ง ข้อความธรรมดา และดึงจากฐาน access  
            ไม่ทราบว่าจะต้องแก้ไขยังไง ครับ  
                      ขอบคุณล่วงหน้าครับ

5 ความคิดเห็น

เรื่อง db ผมไม่แน่ใจน่ะครับ ว่า access ตอนสร้างสามารถกำหนดให้เป็น utf-8 ได้เหรอป่าว แต่ถ้าบอกว่า ข้อความธรรมดาก้อ่านเป็นตัวสี่เหลี่ยม ผมว่าน่าจะเกิดมาจากการที่ หน้าที่สร้างไม่ได้ converter เป็น utf-8 เรื่อง utf-8 บนเว็บมีครับ ที่ how to ลองหาดูครับ
1

ลองดู บททที่ 11 การใช้งาน AJAX กับภาษาไทย
ไม่รู้จะช่วยได้ป่าว
2

ตามความเข้าใจผมนะ คิดว่า mdb น่าจะเก็บข้อมูลเป็น Ansi มากกว่า UTF-8 ดังนั้นหากใช้ AJAX เรียก มันจะอ่านเป็น UTF-8 ซึ่งทำให้การส่งค่ากลับผิดพลาดได้ ส่วนการเรียกเพจธรรมดานั้นคงเป็น TIS-620 อยู่แล้วเลยไม่ค่อยมีปัญหา

การแก้ไขคิดว่าคงต้องใช้วิธีแปลง UTF-8 ให้เป็น TIS-620 ด้วยฟังก์ชั่น iconv() ก่อนส่งกลับครับ ถึงจะทำให้การส่งค่ากลับได้ถูกต้อง

รายละเอียดลองหาบนเว็บครับ
3

เพิ่มเติมต่ออาจารย์

iconv ( string $in_charset , string $out_charset , string $str );

iconv("๊UTF-8", "TIS-620", "This is a test.");

 
4

ขอบพระคุณ อย่างสูง เลยครับ ได้แล้วครับ  มีปัญหา ต่ออีกที ตอน บันทึก  ใช้  iconv ก่อน ส่งค่าไป ก็ได้แล้วครับ
ขอบคุณมาก ๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ
 

5
^