วิธีแก้ปัญหาย้ายข้อมูลเข้า host แล้ว website กลายเป็นภาษาต่างดาว - HOSTNEVERDIE
Elementor Pro ปกติราคา 1,750 บาท/ปี โปรโมชั่นพิเศษ WordPress Hosting พร้อม Elementor Pro เริ่ม 1,499 บาท/ปี

ฐานความรู้

วิธีแก้ปัญหาย้ายข้อมูลเข้า host แล้ว website กลายเป็นภาษาต่างดาว

การที่ข้อมูลเพี้ยนเป็นภาษาต่างดาวเกิดจากปัญหาการ encode ข้อมูลไม่ตรงกัน

1. การ export ข้อมูลมาเป็นไฟล์ sql ให้ทำการตรวจสอบเรื่อง encode ก่อนว่าเดิมเราใช้ encode ข้อมูลว่าอะไรโดยดูที่ตารางใน database ผ่าน phpMyAdmin



2. หลังจาก export มาเป็นไฟล์ .sql แล้วให้ทำการเปิดเช็คไฟล์ดูก่อนด้วยครับว่าไฟล์ที่ dump ออกมามองเห็นเป็นภาษาไทยถูกต้อง มีเพี้ยนหรือไม่ ถ้าเพี้ยนต้องทำการ export ออกมาไม่ให้เพี้ยนก่อนครับ



3. หลังจากนั้นเมื่อสร้าง database แล้ว import ข้อมูลจากไฟล์ sql ลงไปบนโฮสแล้ว ให้เราเช็คใน table ที่ได้ทำการ import ดูด้วยครับว่า encode ตรงกับที่เก่าที่เราย้ายมาหรือไม่ ดูจาก collation ใน phpMyAdmin แล้วก็เช็คข้อมูลที่ฟิลด์ภาษาไทยด้วยว่าเป็นภาษาไทยมีการเพี้ยนไปหรือไม่ ถ้าเพี้ยนต้อง import เข้าไปใหม่ครับโดยให้ encode ตรงกัน

 

 

4. ถ้าข้อมูลใน database ถูกต้องดีแล้วไม่มีการเพี้ยนให้ไปตรวจเช็คที่หน้า webpage ดูครับว่าได้ทำการระบุ charset ให้ตรงกับข้อมูลที่เรา encode ไว้ใน database หรือไม่

ตัวอย่างถ้า encode เป็น utf-8  ใน database ที่หน้า webpage ก็ต้องตั้งเป็น utf-8


ตัวอย่างถ้า encode เป็น tis-620 ใน database ที่หน้า webpage ก็ต้องตั้งเป็น tis-620


5. ถ้าข้อมูลใน database ไม่เพี้ยนและระบุในหน้า webpage ตรงกันแล้วยังเพี้ยนอยู่ ให้ทำการไปเช็คดูที่ code php ส่วนการ connect ดึงข้อมูลจาก database ครับ ให้เพิ่มบรรทัดพวกนี้ลงไป โดยใส่ charset ให้ตรงกับการ encode ข้อมูลใน database และหน้า website

ตัวอย่างถ้า encode เป็น utf-8  ใน database ที่หน้า webpage ก็ต้องตั้งเป็น utf-8

$testConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$testDB = mysql_select_db("mydatabase");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");

ตัวอย่างถ้า encode เป็น tis-620 ใน database ที่หน้า webpage ก็ต้องตั้งเป็น tis-620

$testConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$testDB = mysql_select_db("mydatabase");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");

  • 29 ผู้ใช้งานชอบบทความนี้
ชอบบทความนี้?

บทความที่เกี่ยวข้อง

 วิธีแก้ปัญหาเวลาโดน virus !

เมื่อเข้า web site ไม่ได้ เข้าแล้วขึ้นคำเตือน หรือเข้าและมีอาการแปลกๆ เป็นไปได้ว่า web site...

 ช่วยด้วย ! เข้าเว็บไม่ได้ขึ้น Forbidden You don't have permission to access / on this server.

ปัญหานี้เกิดจากการที่ folder public_html ของโดเมนคุณไม่มี file index.html หรือ index.php ครับ...

 วิธีการเข้า Web Control Panel โดยที่ไม่ต้องจำ Password

เหมาะกับผู้ที่ไม่อยากจำ Password ของ Web Control Panel อยากจำแค่ Password ของ Support Center...

 วิธีการเปลี่ยน Name Servers ของ Domain

วิธีการเปลี่ยน Name Servers ของ Domain มีขั้นตอนง่ายๆ ดังต่อไปนี้   1. Login...

 การติดตั้งเว็บสำเร็จรูปโดยใช้ auto-installer (step by step)

(ก่อนอ่าน tutorial นี้ผมอยากให้คุณอ่านวิธีการใช้ directadmin เบื้องต้นก่อนนะครับ...