วันอาทิตย์ที่ 25 พฤษภาคม พ.ศ. 2557

utf8 utf-8 tis620

ที่มา http://www.thaiadmin.org/board/index.php?topic=100094.0;imode

คือผมได้โจทย์มาดังนี้ครับ

เขียนเวปด้วย ASP + MySQL(5.0.27) + MyODBC 3.51(ลอง 5.1 แล้วไม่เวอร์ค)
เวลาดึงข้อมูลภาษาไทยมาแสดง มันก็เป็นไทยได้ครับ มันมามีปัญหาก็ตรงที่ต้องใช้อะจ๊าก (AJAX) ด้วยนี่สิ
พอเราไป save as ไฟล์ *.asp เป็น utf-8 format การรับส่งข้อมูลระหว่าง server กะ ajax ก็ได้ภาษาไทยถูกต้อง
แต่ข้อมูลที่อ่านจาก mysql เป็นภาษาต่างดาว แต่ถ้า save as เป็น default ข้อมูลที่รับส่งระหว่าง ajax กับ server
จะไม่เป็นภาษาไทย รับมาได้ แต่ส่งไปเป็นภาษาต่างดาว

ใครเคยเจอโจทย์แบบนี้ หาทางออกยังไง แนะนำด้วยครับ
sf_alpha:
เช็คให้ทุกอย่ารงทำงานแบบ UTF-8 ทั้งระบบครับแก้ปัญหาไปเลย

เรื่อง mysql น่าจะง่าย ๆ แค่สั่ง

SET NAMES 'UTF8' หลังจาก connect
NuiKubota:
มาเขียนไว้ให้ตัวเองอ่านด้วย อิอิ

ผมทำงี้นะครับ
MySQL 5.0.27 + MyODBC 3.51.22 + ASP
- database, table, field ผมใช้เป็น latin1 ทั้งหมดครับ ตารางเป็น MyISAM
- หน้าเพจที่เรียกข้อมูล
    1. save เป็น utf-8 format
    2. ใส่แทก meta กำหนด charset เป็น utf-8
    3. เวลาส่งข้อมูล ใช้ encodeURI แทน encodeURIComponent
- หน้าที่ส่งข้อมูลกลับ
    1. save เป็น Default format
    2. กำหนด Header ดังข้างล่าง
        Response.ContentType = "text/xml" 
        Response.Charset = "tis-620"
    3. เวลาคิวรี่ข้อมูล ไม่ต้องสั่ง SET NAMES 'TIS620' หรือ SET NAMES 'UTF8' แต่อย่างใด

ตอนนี้รับ-ส่ง ข้อมูลภาษาไทยได้ถูกต้อง และคิวรี่ข้อมูลภาษาไทยส่งมาแสดงได้อย่างถูกต้องครับ
sf_alpha:
ไม่ set NAMES ระวังข้อมูลออกมาเป็น ??? หมดนะ

อือ แล้ว เวบ แนะนำให้ใช้ utf8 หมดครับ
ไหงใช้ response charset tis620 ?

6 ความคิดเห็น:

  1. a science-fiction replica watches uk movie.You wouldn’t think twice if you saw this watch on the wrist of someone in an Avatar movie. With a price under $100, the Timex Command 47 collection is an easy winner if you are replica rolex watches looking for a durable digital sports watch and, for whatever reason, can’t seem to find a Casio G-Shock that you like. Timex wants a bigger replica watches piece of the.

    ตอบลบ
  2. Note: This is not a real application for hacking. This is only Prank and for fun. More. Entertainment Software Rating Board EVERYONE. Read More

    Click Here Click Here Click Here Click Here Click Here Click Here Go To

    ตอบลบ
  3. A windows 8.1 activator is one that can activate the new operating system without any additional steps. This program works with Microsoft products. Windows 8.1 Activator

    ตอบลบ
  4. The ESET antivirus is designed to protect your PC from deceptive websites. It will also protect your computer from malicious emails and downloads. Eset Nod32 License Key 2022 Free

    ตอบลบ