ตัวแปร NLS_LANG ประกอบด้วย 3 ส่วนด้วยกัน คือ Language, Territory และ Character Set ซึ่งอยู่ในรูปแบบ
NLS_LANG = language_territory.charset
กติกาง่ายๆ คือ กำหนดส่วนของ Character Set ในตัวแปร NLS_LANG ให้ตรงกับ Database Character Set ปัจจุบัน เพื่อป้องกันปัญหาการ Encode ข้อมูลผิด อย่างเช่น แสดงข้อมูลออกมาเป็น '??????' หรือ 'ฟฟฟฟฟ'
ตัวอย่างเช่น ถ้า Database ที่เราสร้างขึ้นมามี Character Set เป็น TH8TISASCII ดังนั้นการกำหนดค่า NLS_LANG ของ Client ก็อาจจะกำหนดได้ดังตัวอย่างข้างล่างนี้ ซึ่งผลที่ได้จะทำให้ไม่มีปัญหาเกี่ยวกับการ Encode ข้อมูลผิดเป็น '??????' หรือ 'ฟฟฟฟฟ'
NLS_LANG=THAI_THAILAND.TH8TISASCII
or NLS_LANG=AMERICAN_AMERICA.TH8TISASCII or NLS_LANG=THAI_AMERICA.TH8TISASCII |
SQL> select * from NLS_DATABASE_PARAMETERS;
PARAMETER VALUE
------------------------------ -----------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET TH8TISASCII
Unix session parameter
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
Window session parameter
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
0 comments:
Post a Comment