20080414

[解法]ASP+MySQL去亂碼同時揭示簡繁中日韓

[問題]

如何在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 意見:

張貼留言