พอดีคุณ jan ถามเข้ามาในโพสต์นี้ เลยตอบเป็นกิจจะลักษณะหน่อยแล้วกัน เผื่อคนอื่นจะประสบปัญหาเดียวกันด้วยครับ
ก่อนอื่นขอเท้าความนิดนึงว่า WordPress เวอร์ชันเก่ากว่า 2.2 จะัตั้ง default charset เป็น Latin 1 แต่ WordPress เวอร์ชันตั้งแต่ 2.2 ขึ้นไปจะสามารถระบุ charset ของฐานข้อมูลได้ในไฟล์ wp-config.php ครับ
เมื่อเราติดตั้ง WordPress เวอร์ชันตั้งแต่ 2.2 ขึ้นไป ในไฟล์ wp-config.php จะมีบรรทัดนี้อยู่
ถ้าเป็นแบบนี้คือมันจะ assume ว่า charset ของ database เป็นค่าตามที่ระบุไว้ในไฟล์ wp-config.php คือ UTF-8 เสมอ ซึ่งถ้า charset ใน database จริงๆ เป็นอย่างอื่น (ส่วนใหญ่จะเป็น Latin 1) ก็จะทำให้ตัวอักษรเละ อ่านไม่ออกได้ครับ วิธีแก้ทำได้สองวิธีคือ
วิธีแรก คือ ลบ config ในส่วนของ charset ออกจากไฟล์ wp-config.php ให้กลายเป็น
เนื่องจากเราไม่ระบุ charset ในไฟล์ wp-config.php ดังนั้น WordPress จะ fallback กลับไปใช้ default charset ของมัน คือ Latin 1 ครับ
หรือ วิธีที่สอง ก็คือ convert charset ของ database ให้เป็น utf8 ซะ โดยไม่ต้องแก้ไฟล์ wp-config.php ครับ
Comments
เข้ามาขอบคุณค่ะ แก้ไขได้เรียบร้อยแล้วอย่างสมบูรณ์หลังจากงมไปสองวัน
ขอบคุณมากนะคะ
ถ้าในดาต้าเบสเรามันเป็น MySQL charset: UTF-8 Unicode (utf8) แบบนี้อยู่แล้วหล่ะ ต้อง convert อีกมั๊ย
แล้วอีกกรณีนึงถ้าในดาต้าเบสเรา utf-8 อยู่แล้วแต่ config เราไม่มีกำหนดให้เป็น utf-8 แต่ใช้ๆไปแล้ว อยู่ๆ เราจะมากำหนดใน config เป็น utf-8 จะได้มั๊ย แล้วข้อมูลเก่าๆที่เก็บไปแล้วจะเป็นยังไงอ่ะ หรือต้องไปคอนเวิร์ต ดาต้าเบสอันเก่าด้วย
ปล. กรณีที่สองนี้ไม่ใช่ wordpress นะแล้วจะคอเนวิร์ตยังไงอ่ะ ปกติคอนเวิร์ตดาต้าเบสมันทำใน phpmyadmin ได้เลยมั๊ยหรือมีโปรแกรมช่วยแปลงหรือเปล่าอ่ะ
Techkr.com: ถ้าเป็น UTF-8 อยู่แล้วก็ไม่น่าจะต้อง convert นิครับ
ในการ convert ถ้าไม่ใช้ plugin ก็ต้องเขียนคำสั่ีง SQL เองละครับ หลักการง่ายๆ (แต่ถึก) คือ
The solution is to ALTER all TEXT and related fields to BLOB, then alter the character set and finally change the BLOB fields back to TEXT.
วิธีการคร่าวๆ และตัวอย่างคำสั่ง ก็ตามนี้
ดูยากจัง คงทำไม่เป็น
ดูในดาตาเบสมันเป็นต่างดาวแต่คงไม่มีผลอะไรมั๊งถ้าเราแบคอัพแล้วเอาขึ้นไปใหม่
พอดูในเว็บก็คงเหมือนเดิมมั๊ง
ช่วยยกตัวอย่างแล้วทำให้ดูหน่อยได้ไหมครับ
คือว่าผมกำลังมีปัญหาแล้ว Wordpress มองไม่เห็น DataBase พี่แกจะลงใหม่ท่าเดียว
แล้วโพสต์เก่าๆก๊อจะหายไปหมดเลย รู้สึกเสียดายอ่ะครับเยอะด้วย
ก๊อเลยใช้วิธีปลั๊กอินไม่ได้ อ่ะครับ
Post new comment