[DB2] Set DB2CODEPAGE

CODEPAGE คือ อะไร ?

  • CODEPAGE มองง่ายๆเลย คือ คำสั่งที่บอกให้เครื่องคอมพิวเตอร์รู้ว่า เรากำลังใช้ภาษาอะไรอยุ่กับมัน เช่น ภาษาไทย ภาษาอังกฤษ ซึ่ง Vender แต่ละค่ายได้แก่ Microsoft, SAP, ORACLE เป็นต้น ออกมาตรฐาน CODEPAGE ของตัวเองมา อย่างภาษาไทยมี CODEPAGE เช่น Windows-874,Tis-620,UTF-8

ทำไมภาษาไทย อันเดียวถึงมีหลากหลาย CODEPAGE ?

  • เพราะ แต่ละเจ้าต้องการเป็นผู้นำ และก็เป็นเรื่องประสิทธิภาพด้วย เพราะ ถ้า Vender  พัฒนา CODEPAGE เอง ตัว Vender สามารถจะโมปรับแต่งให้เข้ากับระบบงานของตัวเองได้ง่ายด้วย แต่หลังๆพบว่าปัญหามันเยอะมากกกกก ในเรื่องความหลากหลายของ CODEPAGE จริงได้มีการออกมาตรฐานกลางอย่าง UTF-8 ขึ้นมาครับ

CODEPAGE มีในระดับไหนบ้าง ? มีหลายระดับเลย ได้แก่

  • ระดับ OS
  • ระดับ Database
  • ระดับ App ที่เรา Coding อยู่ เช่น Java ใช้ UTF-8 เลย

DB2 ดู CODEPAGE ได้อย่างไร

--db2 get db cfg for ชื่อฐานข้อมูล
db2 get db cfg for BFMUATC
2015-11-01_071854

คำสั่งที่ใช้ในการ SET CODEPAGE เช่น Windows- 874

--db2set DB2CODEPAGE = เลขรหัสของ CODEPAGE
db2set DB2CODEPAGE=874

สำหรับ ERROR CODE ที่ดูแล้วเป็นเรื่อง CODEPAGE มี ดังนี้

SQL0332N  Character conversion from the source code page "874" to the target code page "UNKNOWN" is not supported.  SQLSTATE=57017

  • ทางแก้ต้องเช็ค CODEPAGE ให้เรียบร้อยทั้งใน APP และตัว Database ครับ

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.