CND8首页 - 软件下载 - 驱动下载 - 新闻资讯 - 软件学院 - 广告联系 - 设为首页 - 加入收藏
软件 | 软件分类 | 网络工具 | 系统工具 | 多媒体类 | 图形图像 | 应用软件 | 行业软件 | 教育教学 | 安全相关 | 编程开发 | 源码下载 | 电子书库 | 游戏娱乐 | 发布软件
驱动 | 硬件驱动 | PC机驱动 | 本本驱动 | 数码驱动 | 手机软件 | 办公驱动 | 硬件工具 | 新闻中心 | 软件资讯 | 硬件资讯 | 业界新闻 | 软件应用 | 安全相关 | 游戏娱乐
学院 | 操作系统 | 办公软件 | 聊天软件 | 图形图像 | 多 媒 体 | 程序开发 | 网页设计 | 网络编程 | 数 据 库 | QQ 专区 | Photoshop专区 | WindowsXP专区 | ASP PHP JSP
学院首页 | 操作系统 | 办公软件 | 聊天软件 | 图形图像 | 多 媒 体 | 程序开发 | 网页设计 | 网络编程 | 数 据 库
搜索:  热门搜索:QQ MSN Skype PhotoShop Flash 3DMax WindowsXP WindowsVista ASP PHP JSP VB
您的位置:首页 -> .NET教程 -> asp.net使用的Mysql乱码处理

asp.net使用的Mysql乱码处理

CND8学院 .NET教程 发布日期:2012年01月07日


  在asp.net与mysql数据库打交道的时候,由于配置的问题,会遇到自己写的方法在读取数据库中数据的时候,英文,数字可以正常通过,但是中文就无法通过,以登录为例(方法略),当输入英文用户名的时候可以正常登录,但输入中午的时候方法就会报错,解决方法如下:
  1,在 mysql数据库安装目录下找到my.ini文件,把default-character-set的值修改为 default-character-set=gb2312(修改两处),保存,重新启动。
  2,找到asp.net文件的web.config文件,在</httpModules>标签的后面添加<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
  3,如果连接数据库的字符串写在web.config里面,则在连接字符串里面添加charset=gb2312(如:<add key="test" value="server=localhost;database=dbtest;uid=root;pwd=root;charset=gb2312"/>)
  4,重新编译。
  有时还会遇到数据库里面显示的数据是中午,但读取到页面之后成了乱码,而且在写存储工程的时候,有中文出现,编译不会通过,我的解决方法是,我的解决方法是,把中文都转化为十六进制,然后读出来。代码如下
  Mysql:
  drop procedure if exists proc_hm_holiday_top5;
  create procedure proc_hm_holiday_top5()
  begin
  select  *,(select userinfo_name from hm_userinfo where userinfo_id=holiday_uid) as username,
  case
  when holiday_type=1 and holiday_typeTwo=1 then _utf8 0xE8AFB7E581872FE79785E5818720
  when holiday_type=1 and holiday_typeTwo=2 then _utf8 0xE8AFB7E581872FE4BA8BE5818720
  when holiday_type=1 and holiday_typeTwo=3 then _utf8 0xE8AFB7E581872FE4B8A7E5818720
  when holiday_type=1 and holiday_typeTwo=4 then _utf8 0xE8AFB7E581872FE5A99AE5818720
  when holiday_type=1 and holiday_typeTwo=5 then _utf8 0xE8AFB7E581872FE4BAA7E5818720
  when holiday_type=1 and holiday_typeTwo=6 then _utf8 0xE8AFB7E581872FE5B9B4E5818720
  when holiday_type=1 and holiday_typeTwo=7 then _utf8 0xE8AFB7E581872FE585B6E4BB9620
  when holiday_type=2 then _utf8 0xE58AA0E78FAD
  when holiday_type=3 then _utf8 0xE587BAE5B7AE
  when holiday_type=4 then _utf8 0xE7A7BBE4BC91
  end
  as holiday_class from hm_holiday where 1=1 order by holiday_addTime desc limit 5;
  end;
  C#代码(将中文转化为十六进制)
  public  string GetHexFromChs(string s)
  {
  if ((s.Length % 2) != 0)
  {
  s += " ";//空格
  }
  System.Text.Encoding chs = System.Text.Encoding.GetEncoding("utf-8");
  byte[] bytes = chs.GetBytes(s);
  string str = "";
  for (int i = 0; i < bytes.Length; i++)
  {
  str += string.Format("{0:X}", bytes[i]);
  }
  return str;
  }
  private void button1_Click(object sender, EventArgs e)
  {
  string shuru = textBox1.Text.Trim().ToString();
  string str = GetHexFromChs(shuru);
  textBox2.Text = str.Trim().Trim();
  }

点这里查看更多.NET教程


 分类导航
操作系统 | Windows2000 | WindowsXP | Vista | Windows7
办公软件 | Office | Word | Excel | PowerPoint | Access
聊天软件 | QQ | MSN | Skype
图形图像 | PhotoShop | FireWorks | CorelDraw | AutoCad
     | Illustrator
多 媒 体 | Flash | 3DMax | Maya | Authorware
程序开发 | VB | VC | Java | C/C++ | Delphi
网页设计 | Dreamweaver | FireWorks | HTML | Javascript
     | CSS
网络编程 | ASP | PHP | JSP | .NET | Ajax | XML
数 据 库 | Access | MySQL | SQL Server | Oracle
CND8首页 | 软件分类 | 驱动下载 | 资讯中心 | 软件学院 | 网站地图 | 下载帮助 | 本站声明 | 发布软件 | 广告联系 | 设为首页 | 加入收藏
Copyright © 2003-2010 CND8.com 版权所有 中国下载吧 ,联系QQ:289740304
苏ICP备05005485号