แก้ปัญหาไม่แสดงผลภาษาไทยในตาราง [SQL SERVER]


สำหรับผู้ที่มีปัญหาว่า insert ข้อมูลที่เป็นภาษาไทยเข้าไปใน table แล้วพอ select ดูพบว่าเป็นเครื่องหมาย ??????? เต็มไปหมด ลองดูวิธีแก้ตามนี้ครับ

1. แก้ไข Collation ของ Database ให้เป็น Thai_CI_AS โดยไปที่ Properties ของ Database เปลี่ยน Collation ก็เรียบร้อย

Thai_CI_AS

Thai_CI_AS

  • ในกรณีที่เปลี่ยนแล้วมีหน้าต่างฟ้องขึ้นมาว่าเปลี่ยนไม่ได้ ให้ลองตรวจสอบว่ามีใครใช้งาน database อยู่หรือเปล่า หรือมี connection ค้างอยู่หรือไม่ จะเอาให้แน่ใจเลยก็ลอง Take offline เสร็จแล้วก็ Bring Online แล้วลองไปแก้ Collation ใหม่อีกครั้ง คราวนี้ควรจะได้แล้ว

    Take offline

    Take offline

2. Insert data เข้า table ใหม่อีกครั้ง (คือว่ามันม่เปลี่ยนให้เองหรอกนะ)

3. ลอง select data ดู คราวนี้ก็จะแสดงภาษาไทยแล้ว

4. แต่สำหรับบางกรณีที่ยังไม่แสดงภาษาไทย อันนี้คงต้อง re-create table ครับ โดยคลิกขวาที่ table -> Scripts Table as -> DROP and CREATE to ->New Query Editor Window แล้ว

re-create

re-create

หลังจากได้ ddl create table มาแล้วลองดูคำว่า SET ANSI_PADDING ON เจอแล้วก็เอาออกไป แล้วก็ create table ได้

5. Insert data เข้า table แล้ว select ดูอีกครั้ง คราวนี้ควรจะแสดงภาษาไทยแล้ว

ติดป้ายกำกับ:

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: