用asp讀取MYSQL資料庫出現亂碼,讀取到的漢字都是? ? ? ?這樣的問題是因為
資料庫字元集,表格字元集,欄位字元集都設為:gbk_chinese_ci
注意資料庫連接串裡面的Stmt=Set Names 'GBK' ,一定要有這一句。
下面是asp連結mysql的程式碼。請注意,後面有個GBK。這樣就是指定連結的編碼類型。根據你使用的數據
庫編碼類型。修改成你自己的。
ConnectionString =Driver={MySQL ODBC 3.51
Driver};Server=myserver;Database=mysql;User=myuser;password=mypassword;Option=3;Stmt=Set
Names 'GBK'
如果使用高版本的mysql,經常出現這樣的情況,中文經常為亂碼;包括在php中。
參考的方法:
設定一下,mysql的字型.
在mysql.ini加入
[mysql]
default-character-set=gb2312
[client]
default-character-set=gb2312
[mysqld]
default-character-set=gb2312 //或gbk
註冊改了後,在改之前的資料庫沒有效果的.這些資料庫目錄下的db.opt檔的內容改為
default-character-set=gb2312
default-collation=gb2312_chinese_ci
也可以這麼做
dim driverName,chs
driverName=Driver={mysql odbc 3.51
driver};server=localhost;database=test;uid=loaer;pwd=123456;
set conn=server.createobject(adodb.connection)
conn.open driverName
'查詢前先執行下面這一句
set chs=conn.Execute(SET NAMES 'gb2312')
'查詢資料庫表
sql = SELECT * FROM tb_commondata
Set rs = conn.Execute(sql)
這樣就不會亂碼了