推 pingsky:若是我的問題的話, 簡單的話, mysql 5.1 若用 big5 不吃 12/25 01:03
不是不吃 只是要escape
現在還有很多系統是big5 也在mysql 5上跑得好好的
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:06)
如果db裡面是設定big5
那就同我在原文推的
把.sql轉成utf-8
然後在.sql前面加上
set names "utf8";
再倒回去
這個動作不是要把資料庫變成utf-8的
是讓mysql吃utf-8進去 然後轉成big5存
吃utf-8進去就不會有\的問題
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:09)
database編碼設為X
client連上去set names Y
mysql就會自動在X,Y之間轉換
所以設定正確的時候
UTF-8,Big5的database都可以直接用未經修改的phpmyadmin看到正確的資料
只有被迫用latin1存big5的才會有問題
(因為latin1 (應該就是iso-8859-1吧)
從00~7F~FF都有定義 所以可以當binary用
只是collation就破破的)
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:11)
推 pingsky:不吃'尠' 啊, 問題根本不是在 c5(\) 上 12/25 01:10
推 LPH66:那是 5C...另外這字是 UAO 放在 big5 的造字區的 12/25 01:13
你出問題的的byte sequence是fbf3
mysql5的big5用的是cp950的表
我在http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
裡面找不到
也就是說他對mysql5來說根本就是illegal sequence
你可以把他取代為A148 (全形問號)
厄.. 其實他應該不是全形問號吧?
但我的terminal也不吃那個 所以我看到的就是全形問號XD
或是成為被迫使用latin1的族群
然後轉成utf-8去塞的話
也不會有illegal sequence的問題
進去的話有可能會transliterate成某個適當的符號
或是變?
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:20)
推 LPH66:和 UAO 的日文問題是同一件事... 12/25 01:18
推 pingsky:LPH66 大, 我是要打 5C 沒錯, 手殘又太快而打錯了.. 12/25 01:19
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:25)
→ buganini:好吧 我查出他是鹿兒了 XD 12/25 01:28
→ buganini:iconv的transliteration沒法處理這個字 只能變問號了 12/25 01:33