困扰了我多天的ASP与MySQL操作中中文乱码问题终于得到了解决,真是很有成就感;多天以来,在探索使用ASP查询以及写入MySQL数据库中汉字的成功实现,我花费了大量的时间,几乎查看了网络上所有关于ASP结合MySQL的文字,但是尽管看的多,收效却甚微,原因在于,MySQL一般是与PHP结合使用,基本上很难找到一个在windows系统下使用ASP操作MySQL的成功案例,更难找到这方面的问题解决方案,所以,要想解决这一问题,只能从其他的程序语言中探索其中的奥妙。大概越是高级的东西,越需要较高的操作技能,所以要想掌握,必须要付出,并不断的探索;只要有一个坚定的求胜信念,没有解决不了的问题。

现在我已成功解决了这一问题,在此作一总结,已供遇到这方面问题的网友参考,以免少走弯路。

网络上的不少文字都谈到了出现中文乱码时修改MySQL的my.ini文件中的

[mysql]default-character-set=latin1

[mysqld]default-character-set=latin1

这两处为default-character-set=gb2312(或gbk,utf8);这当然没错,至少在数据库中是肯定可以显示汉字了,但是在页面中用语句查询却未必能成功,可能依然是乱码。

或者说更改数据库或者mysql字符集

查看mysql支持的字符集

show character set;

查看数据库编码

show variables like ‘character_set%’;

查看当前mysql使用的字符集

show variables like ‘character%’;

解析:

character_set_client:客户端请求数据的字符集

character_set_connection:客户机与服务器连接的字符集

character_set_database:默认数据库的字符集;如果没有默认数据库,就会使用 character_set_server指定的字符集(建议不要随意更改)

character_set_filesystem:把 character_set_client转换character_set_filesystem (默认为binary, 不做任何转换)

character_set_results:返回给客户端的字符集

character_set_server:数据库服务器的默认字符集

character_set_system:系统字符集,默认utf8。(用于数据库的表、列和存储在目录表中函数的名字)

character_sets_dir:mysql字符集文件的保存路径

产生乱码的原因

character_set_client与实际不符合

character_set_results与客户端页面不符合

查看当前数据库的校对规则

show variables like ‘collation%’;

解析:

value的命名规则: 字符集名字+语言+后缀

collation_connection :当前连接的字符集

collation_database :当前日期的默认校对

collation_server :服务器的默认校对

后缀的含义: 
ci:不区分大小写 
cs:区分大小写 
bin:二进制排序

更改字符集
解决乱码问题(一般如下)

set character_set_client = utf8;set character_set_server = utf8;set character_set_connection = utf8;set character_set_database = utf8;set character_set_results = utf8;set collation_connection = utf8_general_ci;set collation_database = utf8_general_ci;set collation_server = utf8_general_ci;

set names utf8;

在mysql的my.cnf的配置文件中修改或添加下列:

[client]
default-character-set = utf8[mysqld]
character_set_server = utf8

又又说在页面的页头加上

<meta http-equiv="Content-Type"content="text/html;charset=gb2312">;

其实这也是无关紧要的,就是加了大概不会又多少用。我也作过其他的探索,比如更改Apache服务器的字符集、重装ODBC驱动等等,所以的可能的解决办法都试了,最后才知道,也许解决问题的方法并不在此。

其实解决ASP与MySQL数据操作中中文乱码问的关键在于数据连接,我们只需要在数据连接中加入

"OPTION=3;stmt=SET NAMES GB2312"

即可,但是位置与格式却非常重要;也有不少网友提到了这点,但基本都是在PHP中的编码,在ASP中的完整格式

则应如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>ASP向MySQL数据库中添加数据</title>
</head><% strconnection="driver={mysql odbc 3.51 driver};database=gaorui;server=localhost;uid=root;password=luo;OPTION=3;stmt=SET NAMES GB2312"set adodataconn = server.createobject("adodb.connection") adodataconn.open strconnectionstrquery = "select * from user" set rs = adodataconn.execute(strquery) if not rs.bof then %><body><table><tr><td><b>姓名</b></td><td><b>密码</b></td></tr><% do while not rs.eof %><tr><td><%=rs("username")%></td><td><%=rs("password")%></td></tr><% rs.movenext loop %></table><% else response.write("无数据.") end if rs.close adodataconn.close set adodataconn = nothing set rsemaildata = nothing %></body>
</html>

添加数据也应该如此,如:

<% username=request.form("username")password=request.form("password")strconnection="driver={mysql odbc 3.51 driver};database=gaorui;server=localhost;uid=root;password=luo;OPTION=3;stmt=SET NAMES GB2312"set conn = server.createobject("adodb.connection") conn.open strconnectionset rs=server.CreateObject("adodb.recordset")sql="select * from user"rs.open sql,conn,1,3rs.addnewrs("username")=usernamers("password")=passwordrs.updaters.closeresponse.write "<script language=javascript>alert('添加成功!');window.location.href='write.html';</script>"response.End
%>

在运用了这种解决方案之后,ASP与MySQL数据操作中的中文乱码问题就可以成功的解决!

参考文章

https://blog.csdn.net/GX_1_11_real/article/details/80748227

https://blog.csdn.net/zhaojunjie_dream/article/details/79979672

https://www.cnblogs.com/liyingxiang/p/5877764.html

IIS+ASP+MySQL8.0+中文乱码解决方案(2019.7)相关推荐

  1. IIS+ASP+MySQL8.0+数据库连接解决方案(2019.7)

    1.MySQL的ODBC驱动是安装在客户端上,客户端通过ODBC驱动向数据库服务器发送请求后,访问数据库服务器的数据库文件,进行连接 MySQL ODBC 官方下载地址 2.关于ASP+MySQL8. ...

  2. Mysql5.0中文乱码解决方案

    解决方案如下:      1.在dos环境下,用mysql --default-character-set=gbk -u root -p 这句话进入mysql~~      2.建数据库.表,如下: ...

  3. Navicat连接MySQL8.0出现乱码的解决方案

    Navicat连接MySQL8.0出现乱码的解决方案 参考文章: (1)Navicat连接MySQL8.0出现乱码的解决方案 (2)https://www.cnblogs.com/ray-mr-hua ...

  4. iis 站点中文乱码 解决方案

    iis 站点中文乱码 解决方案 参考文章: (1)iis 站点中文乱码 解决方案 (2)https://www.cnblogs.com/zhaokunbokeyuan256/p/10001726.ht ...

  5. JSP中文乱码解决方案了解和TOMCAT中文乱码解决

    java 中文乱码终极解决方案 首先,确保你的数据库是支持中文的.把数据库的编码方式设置能支持中文的,如GB2132,utf-8等,而且经过测试后确实能写入中文且正常显示.这样就就保证了数据库确实是支 ...

  6. Spring MVC POST中文乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 1.自己编写一个filter,来实现编码,代码如下: 1 public class Characte ...

  7. POST中文乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 ? Spring Web MVC提供了Filter用于解决POST方式造成的中文乱码问题,具体配置 ...

  8. mysql中文乱码解决方案_Mysql中文乱码解决方案

    Mysql中文乱码解决方案 时间:2017-07-11     来源:华清远见JAVA学院 中文乱码问题一直是我们编程过程中比较常见又让人头疼的问题,但是只要按照标准进行配置,就能很好的避免出现中文乱 ...

  9. JPS网页中文乱码解决方案

    JPS网页中文乱码解决方案 1 查看源文件页头 2 查看head标签 3 查看mysql数据库链接编码格式设置 4 查看数据库 4.1 修改字符编码 4.2 重新建表指定相应的编码 1 查看源文件页头 ...

最新文章

  1. centos6.7x86_64安装nginx (good)
  2. hadoop分布式文件系统hdfs的概念和特性
  3. 谷歌浏览器bug调试快捷键_Bug压榨初学者指南:如何使用调试器和其他工具查找和修复Bug
  4. Mr.J-- jQuery学习笔记(二十八)--DOM操作方法(添加方法总结)
  5. [obc学习日记]3.10
  6. The path C:\Oracle\Middleware\wlserver_10.3 contains the wrong version of WebLogic Server. Expect
  7. 支持向量机原理(四)SMO算法原理
  8. uboot驱动模型(DM)分析(一)
  9. jq select 修改选中_转 jquery操作select(取值,设置选中)
  10. 直线加速器,可以使用半圆转向串联,作弓形结构
  11. java扫描条形码的两种方式
  12. 交银施罗德基金郭斐:集中心力,布好一盘“成长投资”
  13. 二相混合式步进电机开环细分控制simulink仿真模型
  14. Springboot毕设项目基于Java对运动心跳数据分析系统设计与实现455j4(java+VUE+Mybatis+Maven+Mysql)
  15. 计算机毕业设计Java电影售票系统(源码+系统+mysql数据库+lw文档)
  16. 对于offsetWidth,offsetHeight,offsetLeft,offsetTop的理解
  17. 面试题精选:循环队列
  18. 使用Canvas绘制调色板和工艺卡片(续)
  19. 我不看好中移动充当4G急先锋
  20. ubuntu日志文件管理

热门文章

  1. java 发送qq消息_php发送qq消息
  2. webgl 基础渲染demo_游戏引擎养成《二》 引入跨平台渲染库
  3. qtdesigner设计表格_QT Designer基础——登录界面设计基础版
  4. 安卓手机指纹解锁linux电脑,【果核干货应用篇-06】使用手机指纹解锁电脑
  5. 事务里面捕获异常_spring 事务回滚
  6. SpringMVC_2.搭建SpringMVC
  7. linux程序实例获取,Linux命令备忘实例(4)——获取内容
  8. java保留想要的字符,反转Java中的字符,同时保留一些字符 - java
  9. spirngmvc如何实现直接输入网页重定向到登录_Python 模拟新浪微博登录
  10. mysql 代替intersect_mysql替代INTERSECT