วันอาทิตย์ที่ 22 กรกฎาคม พ.ศ. 2555

Fix mysql database utf8 and tis620 encoding

ปัญหาการ encoding ของ database ไม่ถูกต้องซึ่งทำให้ภาษาไทยไม่แสดงผล มีหลายกรณีด้วยกันครับ

สำหรับการแก้ปัญหาที่ยกตัวอย่างมานี้
จะเป็นวิธีการแก้ไข encoding ของ database ที่ถูกป้อน
ข้อมูลผ่าน php โดยไม่ได้กำหนดค่า set names utf8 หรือ set names tis620
ทำให้ names default mysql ถูกใช้ซึ่งปกติจะเป็น latin1


ขั้นที่ 1. export ไฟล์เป็น .sql ผ่าน phpmyadmin เป็น utf8 (เป็นค่า default อยู่แล้ว)
ขั้นที่ 2. สร้าง database ใหม่เป็น utf8 สำหรับทดสอบ สร้างตารางชื่อ test ขึ้นมาและสร้าง field ขึ้นมา field หนึ่งเป็น long_text ตั้งชื่อว่า field1
ขั้นที่ 3. เพิ่ม record ของตาราง test ขึ้นมา โดย copy โค้ดจากไฟล์ .sql มาใส่ไว้ใน field1 
ขั้นที่ 4 แทรกคำสั่ง set names latin1; จากนั้นแสดงผล field1 ของตาราง test
ขั้นที่ 5 จะได้ข้อมูลโค้ดจากไฟล์ .sql ในรูปแบบภาษาไทยที่ถูกต้อง นำไปใช้ import ได้
(ขั้นที่ 5 ถ้าแสดงผลใน browser จะต้องกำหนดค่า charset utf8)


ถ้าต้องการให้ช่วยแปลงข้อมูลภาษาไทยที่ผิดปกติ
สามารถติดต่อได้ที่ 0897902424 (หนุ่ม)
คิดค่าบริการประมาณ 200-1000 โดยขึ้นอยู่กับจำนวนตารางข้อมูลครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น