這樣的問題是因為
數據庫字符集,表字符集,字段字符集都設為: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)
這樣就不會亂碼了