asp使用mysql5.0_ASP 连接 mysql 5.0.18版本 的中文乱码的问题

ASP连接mysql 5.0.18版本的中文乱码的问题

刚接触mysql数据库几天,发现在asp获取数据后的中文变成了乱码 上网找资料 很少有ASP连接mysql数据库的,几经学习,搞定了,

一.数据库的字符集设置

首先在my.ini文件中的下列代码中修改默认的字符集设置 ,你也可以改为别的utf8等

......

[client]

port=3306

[mysql]

default-character-set=gbk

......

[mysqld]

# The TCP/IP Port the MySQL Server will listen on

port=3306

......

default-character-set=gbk

......

改好之后,我们再在MySQL控制台MySQL Command Line Client中连上数据库中

执行一下语句

mysql> show variables like '%char%';

执行的结果如下:

+--------------------------+-------------------------------------+

| Variable_name            | Value                               |

+--------------------------+-------------------------------------+

| character_set_client     | gbk                                 |

| character_set_connection | gbk                                 |

| character_set_database   | gbk                                 |

| character_set_results    | gbk                                 |

| character_set_server     | gbk                                 |

| character_set_system     | utf8                                |

| character_sets_dir       | D:"MySQL Server 5.0"share"charsets" |

+--------------------------+-------------------------------------+

7 rows in set (0.28 sec)

以上的Value值除character_sets_dir和character_set_system 外如果不是我们要设置的gbk

则我们可以通过

mysql> set character_set_database = 'gbk';

进行修改为gbk;

character_set_system 的Value值是系统写死的 是utf8 , 不能进行更改,(一位高手讲的)

可以下载源代码 , 用VC.net 打开mysql.sln 工程 , 打开在mysqld工程中的mysqld.cpp,

找到这个函数, mysql_init_variables,里边有两句

system_charset_info= &my_charset_utf8_general_ci;

files_charset_info= &my_charset_utf8_general_ci;

封掉,改为

system_charset_info= &my_charset_gbk_chinese_ci;

files_charset_info= &my_charset_gbk_chinese_ci;

编译后在client_debug目录下生成mysqld-debug.exe ,改名mysqld-nt.exe 放到mysql/bin下就OK了

如果修改了character_set_system 的值,则表名也支持中文了,为utf8 时候表名不支持中的

当然了 做程序开发的表名和字段名命名为中文的也比较少的 (命名规则 ^_^)

这一切都设置好之后,下面就是驱动的设置了

二.MySQL的ODBC驱动设置

首先你要下载一个mysql的ODBC驱动

我是在官方网站www.mysql.com 上下载的mysql-connector-odbc-3.51.19-win32.

安装好之后,打开数据源(ODBC),在ODBC数据源管理器中添加刚才安装的mysql的ODBC数据驱动 MySQL ODBC 3.51 Driver 对应的项就不用介绍了 主要是填写的项如图就行了 ,

23f4817597063056695b4a2690eee43e.png

之后可是点击TEST按钮测试一下

2df6fdd85781128c516b286a9f7ccc0d.png

驱动配置好之后,

三.Asp的连接配置

主要是连接字符串的设置

ConnectionString = "driver={mysql odbc 3.51 driver}; database=bb;server=192.168.140.253;

uid=root;password=kjlink;Option=3;Stmt=Set Names 'GBK'"

Set Conn = Server.CreateObject("ADODB.Connection")

可以用一下的代码进行测试:

无标题文档

StrConn = "driver={mysql odbc 3.51 driver}; database=bb;server=192.168.100.100;

uid=root;password=sa;Option=3;Stmt=Set Names 'GBK'"

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.open StrConn

%>

set rs_modules = Server.createobject("ADODB.Recordset")

sql = "insert into user values (1,' 显示中文汉字了^_^ ')"

rs_modules.CursorType=3

rs_modules.CursorLocation=3

rs_modules.Open sql,Conn

sql1 = "Select ID, name from user"

rs_modules.CursorType=3

rs_modules.CursorLocation=3

rs_modules.Open sql1,Conn

while not rs_modules.eof

Response.Write rs_modules("name" )

rs_modules.movenext

wend

rs_modules.close

set rs_modules=nothing

%>

注释:此测试示例是向192.168.100.100主机的bb数据库的user表中添加一条记录,然后在读出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值