用asp读取MYSQL数据库出现乱码,读取到的汉字都是????

这样的问题是因为 数据库字符集,表字符集,字段字符集都设为:gbk_chinese_ci 注意数据库连接串里面的Stmt=SetNames''GBK'',一定要有这一句。 下面是asp链接mysql的代码。请注意,后面有个GBK。这样就是指定链接的编码类型。根据你使用的数据 库编码类型。修改成你自己的。 ConnectionString='Driver={MySQLODBC3.51 Driver};Server=myserver;Database=mysql;User=myuser;passwo

作者: 来源: 时间: 17-11-23 15:50:12

这样的问题是因为

数据库字符集,表字符集,字段字符集都设为: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)


这样就不会乱码了
11
22
33
隐藏区块

会员注册

本功能为预留功能,暂不支持注册 ^_^

Login

社交帐号登陆

使用以下任意帐号可登陆本站

Close section
Close

联系我们

关于5UCMS 您有任何需求 均可以留言给我们