oracleskill

Home TUTORIAL ปัญหาการแสดงผลภาษาไทยเป็น ??? หรือ ฟฟฟ ใน Oracle

ปัญหาการแสดงผลภาษาไทยเป็น ??? หรือ ฟฟฟ ใน Oracle

มีคนถามผมมาก เกี่ยวกับปัญหาการ ข้อมูลของ Oracle ที่เป็นภาษาไทย   แสดงผลออกมาเป็น ??? หรือ ฟฟฟฟ   โดยเฉพาะอย่างยิ่ง เครื่อง Client  ที่เป็น Windows  ซึ่งปัญหานี้เกิดจาก  Character Set ของ เครื่อง Client  ไม่ตรงกับ Character Set ของ Database  นั่นเอง   เราสามารถตรวจสอบได้ ดังนี้

 

ที่ฝั่ง Database

1. login  Oracle Database เป็น sys หรือ system

2. ใช้ SQL ตรวจสอบ NLS ดังนี้

SELECT  *  FROM   NLS_DATABASE_PARAMETERS;

 

3. ดูค่า NLS_CHARACTERSET ต้องเป็น TH8TISASCII จึงจะสามารถจัดเก็บภาษาไทยได้ NLS_DATABASE_PARAMETERS  

 

ที่ฝั่ง Client (Windows)

1. ปุ่ม Start--> run --> พิมพ์ regedit แล้วกด OK

regedit to see Oracle registry

 

2. ไปที่ HKEY_LOCAL_MACHINE--> Software --> Oracle --> HOME0

3. ที่หน้าต่างขวามือ ดูค่า NLS_LANG  ตัวหลังจุดต้องเป็น TH8TISASCII เช่น AMERICAN_AMERICA.TH8TISASCII หรือ THAI_THAILAND.TH8TISASCII

NLS_LANG registry in windows