[問題]
如何在ASP+MySQL的環境下去亂碼同時揭示簡繁中日韓,中文日文韓文混合文字utf8
[發生]
當我們製作一份文件包含中日韓文字或者其他utf8文字,
並以UTF8格式存入MySQL時,
會依序發生幾種狀況
0.看不見:需設定
session.codepage=65001
1.選出來都是亂碼 : MySQL的My.ini要設定
2.選出來還是亂碼:MyODBC Driver是v3.51時,如果存取時的utf8設定不精確
建議在每次存取時,在SQL連線開啟之後,
都加上 "SET NAMES utf8;"
3.只看得到中文繁體字:簡體字、日文、韓文都不見了
MyODBC 3.51對utf8的支援並不完整,這樣已經是極限了
4.在GUI Tools看得見,但ASP選出來是NULL:使用MyODBC 5.1才有可能發生
MyODBC 5.1對utf8的支援仍有bug
TEXT資料型態可以存無法取,改為VARCHAR型態即可
只不過目前只支援到VARCHAR(1365)
[參考]
advanced search page on BUGREPORT.MySQL官方網站
Bug #28617
Bug #32570
Aeon Linn在其中作的補充
[作者]
Aeon Linn
http://Aeon.tw
0 意見:
張貼留言