当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp MYSQL出现问号乱码的解决方法

ASP
用ASP发 WAP MAIL(-)
使用纯粹的asp+语言制作的栏目管理(一)
使用ASP方便的建立自己网站的每日更新
中文虚拟域名实现(1) (环境:中文NT)
中文虚拟域名实现(2) (环境:中文NT)
中文虚拟域名实现(3) (环境:中文NT)
最简单的ASP聊天室(附源码)
Win2k IIS 远程执行命令漏洞
搜索按钮(客户端表单)
转换字符串带有http://的超级链接字符串为真正的超级链接(源码)
第一个ASP组件:设置服务器日期时间组件
虹雨的功能较全的计数程序
下拉框连动的小例子(数据库版)
下拉框连动的小例子(.htm版)
纯ASP上传图像文件到数据库的最佳例子
数组数据排序的程序例子
网络精英计数器源程序
全文本检索的应用(1)
全文本检索的应用(2)
全文本检索的应用(3)

ASP 中的 asp MYSQL出现问号乱码的解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 168 ::
收藏到网摘: n/a

用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)

这样就不会乱码了