พอดีผมได้ทำการย้ายเว็ปนี้ไปอีกโฮสต์นึง ก็มีปัญหาที่ผมไม่คิดว่าจะเจอ
ก็คือ WordPress ที่ผมคิดว่มันรองรับ UTF-8 นั้นจริงแล้วไม่ใช่ เพราะ
Database นั้นเก็บเป็น Latin1 ทำให้มีปัญหาขึ้นมาเมื่อทำการ Export
และไป Import เข้า Database ในโฮสต์ใหม่ ซึ่งการแสดงผมภาษาไทย
จะเพี้ยนมีตัวอักษร ??? แทรกเข้ามากับภาษาไทย ผมได้ลองแปลงข้อมูล
เป็น Latin กับ UTF-8 ก็ยังไม่สามารถทำให้มันแสดงผลถูกต้องได้จนสุดท้าย
ผมได้แก้ไขไฟล์ .sql ที่ export มาจากเว็ปเก่าโดยด้วย EditPlus แล้ว
Search/Replace CHARSET=latin1 เป็น CHARSET=utf8 แล้วก็ เซฟ
โดยเลือก Encode เป็น UTF-8 แล้วก็ Import ไปที่เว็ปใหม่ โดยเลือก
Import แบบ UTF-8 แล้วแก้ไขไฟล์ wp-includes/wp-db.php
ให้แทรกโค้ด
mysql_query("SET NAMES 'utf8'");
เข้าไปต่อจากโค้ดด้านล่างนี้
PLAIN TEXT
PHP:
function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
[...]
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| « Aug | ||||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |