การติดตั้ง FreeNAS ตอนที่ 2

แปลงการเข้ารหัส Charset ใน MySQL



ผมเพิ่งเจอปัญหามาสดๆร้อน กับปัญหาลืมกำหนด Charset ให้กับ ฟิลด์ Text ทำให้เวลาพิมพ์ภาษาไทยไปจะกลายเป็นภาษาอัลไลไม่รู้ ทำให้ผมตกใจเป็นอย่างมาก เนื่องจากนำไปใช้งานจริงแล้ว พอกลับไปดูมันกำหนด Charset ของผมเป็น latin_swedish_ci ให้โดยอัตโนมัติ ซึ่งจะต่างกันไปตามเวอร์ชุ่นของ MySQL

  • วิธีแก้ก็คือ Update ด้วยการ Convert Charset
UPDATE tb_name SET
    field_1=convert(cast(convert(field_1 using  latin1) as binary) using utf8),
    field_2=convert(cast(convert(field_2 using  latin1) as binary) using utf8),
    field_3=convert(cast(convert(field_3 using  latin1) as binary) using utf8)
WHERE 1

ก็ประมาณนี้นะครับ เราก็จะเห็นเป็นภาษาไทยแล้วล่ะครับ

ความคิดเห็น