ที่ Host เดิมก็เป็นอย่างนี้ แต่ php default เป็น tis-620 วันเลยอ่านได้
พอย้าย host มา php default เป็น utf-8 ทีนี่อ่านไม่ออกเลยครับ
พยายามลองหลายวิธีแล้วครับ ไม่ได้ผล
ใครเคยแก้ไขได้สำเร็จแล้วบ้างครับ :baa60776:
phpMyAdmin
Version information: 3.4.11.1, latest stable version: 3.5.4
MySQL
Server: Localhost via UNIX socket
Server version: 5.1.65-cll
MySQL charset: UTF-8 Unicode (utf8)
PHP version 5.3.18
ปรับค่า Server connection collation เป็น tis620_thai_ci แล้วก็ปรับ encoding หน้าเว็บเป็น tis-620 หรือ windows-874
iCafe
November 27, 2012, 10:22pm
4
สร้าง db ใหม่กำหนดให้ [COLOR=#333333]collation เป็น tis620_thai_ci แล้วค่อย import db ครับ[/COLOR]
Ok เดี๋ยวลองเดี๋ยวนี้เลยครับ
ตอน import DB แล้วปรับ Character set of the file: tis-620 จได้มี error ครับ แต่ถ้าเอาเข้าเป็น utf-8 ไม่ error นำเข้าได้ปกติ
[h=1]Error[/h] SQL query:
INSERT INTO news_article
VALUES ( 6716, 5, 0, ‘baanampha380.jpg’, ‘small_baanampha380.jpg’, ‘icon_baanampha380.jpg’, 'ยบรฉร </span>ร(324,1649,'VTUswVsjUpKT ','pAdPjT & lt;
[B]MySQL said: [/B][[IMG]http://muangthai.com:2082/cpsess2881639331/3rdparty/phpMyAdmin/themes/pmahomme/img/b_help.png[/IMG]](http://muangthai.com:2082/cpsess2881639331/3rdparty/phpMyAdmin/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.1%2Fen%2Ferror-messages-server.html&token=038d435a7c4b1e3c076ab1226072e76e)
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘VTUswVsjUpKT’,‘pAdPjT <’ at line 1
ลอง dump DB เดียวกัน
ต้นฉบับเป็น MyISAM latin1_swedish_ci มีภาษาไทย ºéÒ¹ÍÑÁ¾ÇÒ ÃÕÊÍÃì· á͹´ì Ê»Ò ¨.ÊÁØ·Ãʧ¤ÃÒÁ แต่จะแสดงผลได้เมื่อ php มี default เป็น tis-620 แต่เครื่องใหม่บังคับให้เป้น utf-8
mysqldump -u root -p --default-character-set=utf8 mydatabse > mybackup-utf8.sql
พอ restore ได้ภาษาไทยแบบนี้ ºéÒ¹ÍÑÁ¾ÇÒ ÃÕÊÍÃì· á͹´ì Ê»Ò ¨.ÊÁØ·Ãʧ¤ÃÒÁ
mysqldump -u muangthai -p --default-character-set=tis620 mtravel > tmtravel-tis620.sql
พอ restore ได้ภาษาไทย เป็น ???
แนะนำด้งยนะครับ
ตอนนี้ DB ผม อ่านออกแล้วครับแต่หน้า เพจมันแสดงผลเป็น ??? ทั้งๆที่ลองเปลี่ยน encoding เป็น tis-620 หรือ utf-8 แล้วก็ตาม
ผมใช้ command นี้ใน Shell
เครื่องเก่า
mysqldump -u root -p --default-character-set=latin1 --skip-set-charset mydb_name | sed “s/DEFAULT CHARSET=latin1//” > mydb-without-latin1.sql
เครื่องใหม่
สร้าง DB ใหม่และปรับ character เป็น tis620
mysql -u root -p --default-character-set=tis620 mydb_name < mydb-without-latin1.sql
เกือบได้แล้วครับ
iCafe
November 28, 2012, 1:30am
10
ถ้าใช้ smf ให้ convert to utf8 ก่อนย้ายครับ