ปัญหาแสดงภาษาไทยเป็น ??? ใน mysql สำหรับ phpnuke

หลากหลายวิธีแก้มาก

วิธีแรก ผมชอบอันนี้ครับ เพราะไม่ต้องยุ่งกับ mysql เลย แค่เปลี่ยนโค้ดของเราในการ include

ปิดไฟล์ /db/mysql.php ครับ


เพิ่มบรรทัด

mysql_query(“SET CHARACTER SET tis620″);

ต่อท้ายจาก บรรทัดที่ 61 หรือ ที่เขียนไว้ว่า

$dbselect = @mysql_select_db($this->dbname);

Code เต็มๆคือตามนี้ครับ
=================================================================
$dbselect = @mysql_select_db($this->dbname); /* บรรทัดที่ 61*/
mysql_query(“SET CHARACTER SET tis620″); /* บรรทัดที่ 62 เพิ่มเข้ามา*/
if(!$dbselect) /* บรรทัดที่ 62 เดิม ซึ่งจะกลายเป็น 63 แทน*/

วิธีสอง แก้ที่ mysql

mysql 5.1.11
phpMyAdmin – 2.9.1
PHP 5.1.6

my.ini
[client]
port= 3306
socket= E:/WWW/mysql/tmp/mysql.sock
default-character-set = tis620

# The MySQL server
[mysqld]
port= 3306
socket= E:/WWW/mysql/tmp/mysql.sock
character-set-server = utf8
collation-server = utf8_unicode_ci

1.ลบฐานข้อมูลเดิมทิ้ง และไฟล์ต่างๆในroot จริง ทิ้ง ก่อน จดจำ โค้ดภาษาที่เครื่องเซิฟเวอร์จริงใช้(ดูที่ หน้าแรก Phpmyadmin จะเห็น

2.ทดลองทำจำลองที่เครื่องเราก่อน โดยการ เปลี่ยนโค้ดภาษา ให้ เหมือนกับที่ เซิฟเวอร์จริงใช้ อย่างของผมเครื่องจำลองเป็น

mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
ตามที่ได้เขียนไว้ข้างบนนะครับ
เซฟแล้วรีบู๊ต mysql ใหม่ ที่นี้ก็เหมือนกับเครื่องเซิฟเวอร์จริงที่เราจะส่งข้อมูลแล้ว ลองทดสอบNuke ดูที่เครื่องจำลอง เราก่อน

3.ทีนี้เข้าไป phpmyadmin เซิฟเวอร์จำลอง เพื่อ import file .sql เข้ามา สังเกตหน้าแรกจะมีโค้ดอักษรของเซิฟเวอร์จำลอง ตามที่เซ็ตไว้ ให้เซ็ตค่าต่างๆที่เกี่ยวกับภาษา ผมลองใช้หลายตัวทั้ง Tis620,Utf8 สามารถใช้ได้ในเครื่องจำลอง แต่ไม่สามารถใช้ได้ในเครื่องเซิฟเวอร์จริงจึงได้ลองกับ Latin1 แล้วก็พบว่าใช้ได้(แสดงว่าถูกโฉลกกับ เครื่องเซิฟเวอร์จริง ฮ่า…ฟลุ๊ก จริงๆ

4.โหลดฐานข้อมูลโดยใช้โค้ดภาษาเป็นลาตินไปเลย แล้วลองเปิดเว็บดู พบว่าตัวอักษรใช้ได้ทันที เพราะเน็ตเรา IE encode เป็นไทยอยู่แล้ว แต่ตัวรูปภาพต่างๆไม่มี ต้องไปปรับที่ theme ต้องเข้าไปที่ ระบบadmin ครับ โล่งอกไปที

http://www.thainuke.org/modules.php?name=Forums&file=viewtopic&t=18254

REFERENCE
http://www.thainuke.org/modules.php?name=Forums&file=viewtopic&t=10027

~ by ijemmy on February 6, 2007.

One Response to “ปัญหาแสดงภาษาไทยเป็น ??? ใน mysql สำหรับ phpnuke”

  1. ^^ กำลังลองทำเหมือนกัน ยังมะด้ายเรื่องเลย

Leave a Reply