asp.net使用Mysql乱码处理

原创 2012年03月29日 13:09:30
在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();

  }

asp.net使用Mysql乱码处理

  在asp.net与mysql数据库打交道的时候,由于配置的问题,会遇到自己写的方法在读取数据库中数据的时候,英文,数字可以正常通过,但是中文就无法通过,以登录为例(方法略),当输入英文用户名的时候...
  • jiejinjivsn
  • jiejinjivsn
  • 2009年12月01日 14:49
  • 112

asp.net使用Mysql乱码处理

  在asp.net与mysql数据库打交道的时候,由于配置的问题,会遇到自己写的方法在读取数据库中数据的时候,英文,数字可以正常通过,但是中文就无法通过,以登录为例(方法略),当输入英文用户名的时候...
  • jiejinjivsn
  • jiejinjivsn
  • 2009年11月28日 15:54
  • 147

MYSQL乱码处理

mysql乱码处理总结:    (1)java中处理中文字符正常,在cmd client中显示乱码是字符集的问题.    (2)字段长度设置够长,但插入中文字符时提示com.mysql.j...
  • feilongjian001
  • feilongjian001
  • 2011年10月17日 09:38
  • 513

mysql乱码处理

转自:http://helloworlda.iteye.com/blog/1275160 MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者ut...
  • u012294371
  • u012294371
  • 2014年10月27日 09:24
  • 296

Mysql乱码处理

查看数据库编码: show create database db_name; 查看表编码: show create table tbl_name; 查看字段编码: show full...
  • u011402197
  • u011402197
  • 2014年11月10日 21:09
  • 348

asp.net连接mysql乱码

 我是采取的这种方法: connectionString="Data Source=221.235.205.102;Initial Catalog=loverszhaokai;User ID=love...
  • loverszhaokai
  • loverszhaokai
  • 2010年10月14日 23:54
  • 358

mysql乱码处理总结

mysql乱码处理总结:      (1)java中处理中文字符正常,在cmd client中显示乱码是字符集的问题.      (2)字段长度设置够长,但插入中文字符时提示com.mysql.jdb...
  • Skipper_java
  • Skipper_java
  • 2011年01月17日 16:32
  • 431

Linux下mysql乱码处理

关于linux下面的mysql乱码处理分为两种环境,也是我迄今为止碰见的两种环境,希望对遇到此问题的朋友有所帮助. 第一种:环境ubuntu 安装方式:apt-get mysql 乱码解决方案:vim...
  • liubihang
  • liubihang
  • 2013年11月26日 20:08
  • 241

jdbc处理mysql乱码

java 操作 mysql中文乱码,网上找了很多。都没用。自己总结了一下。 1,解决MYSQL的中文乱码,修改C:\Program Files\MySQL\MySQL Server 5.0中的def...
  • arsenic
  • arsenic
  • 2012年11月13日 22:06
  • 329

在ASP.NET中使用JSON

What is JSON:在ASP.NET中使用JSON 本篇将简单的介绍一个在.NET中实现JSON的API,然后使用该API做个C/S ASP.NET的小练习。Json.NET的简单介绍首先介绍一...
  • keyler
  • keyler
  • 2006年11月21日 09:16
  • 9203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net使用Mysql乱码处理
举报原因:
原因补充:

(最多只允许输入30个字)