這樣的問題是因為
資料庫字元集,表字元集,欄位字元集都設為: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)
這樣就不會亂碼了