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)

  这样就不会乱码了