Re: [請益] MySQL 編碼問題

看板PHP作者 (霸格尼尼)時間14年前 (2011/03/04 23:27), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串2/2 (看更多)
就目前情況而言 問題是出在insert前沒有set names utf8 而預設的names是latin1 所以實際上是utf8的資料就被誤當作latin1再轉成utf-8 也就是iconv("iso-8859-1","UTF-8","I AM UTF-8 STRING"); (latin1跟iso-8859-1的關係可見 http://dev.mysql.com/doc/refman/5.0/en/charset-we-sets.html) 也就是說NAMES這個東西代表client side I/O的encoding mysql本身會做server-client之間的encoding conversion 就降.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.93.132

03/04 23:27, , 1F
也就是說在正確的情況下 假設db裡面是utf-8
03/04 23:27, 1F

03/04 23:28, , 2F
要輸出到big5網頁時只要set names big5就好了
03/04 23:28, 2F

03/04 23:28, , 3F
不用自己轉 這也是為什麼每個db/table的encoding設定不
03/04 23:28, 3F

03/04 23:29, , 4F
一樣的時候phpmyadmin都不會亂碼 因為只要db裡面的東西是
03/04 23:29, 4F

03/04 23:29, , 5F
對的 phpmyadmin這邊set names utf8 拿到的就都是utf-8
03/04 23:29, 5F

03/04 23:31, , 6F
至於預設是latin1這件事 可能是舊時代的遺毒吧..
03/04 23:31, 6F

03/05 21:36, , 7F
感謝哦! 我來研究看看~
03/05 21:36, 7F
文章代碼(AID): #1DSGJVJg (PHP)
文章代碼(AID): #1DSGJVJg (PHP)