导航

yaosansi's Blog

当你背向太阳的时候,你只会看到自己的阴影!能力是有限的,努力无限的!

« .net与PHP时间戳的相互转换UBB(c#完整版) »

.net操作mysql中文字符乱码的问题

  • 本站大部分内容从网上收集,收集目的仅供研究、学习。涉及版权或不希望收录您的文章请您及时与我联系。
  • 本站IM群,请自行选择。请各位朋友按照自己喜好加入。加入群后请及时发言,防止被清理。谢谢您的合作!!!
  • QQ群:Y①WEB开发(ASP.NET)号码:7351660 QQ群:Y②WEB开发(ASP+.NET)号码:11864905
  • QQ群:Y③WEB开发(DIV+CSS)号码:16610506 QQ群:Y④WEB开发(JS+AJAX)号码:16143998
  • QQ群:Y⑤WEB开发(新手)号码:12777715 MSN群:yaosansi[at]126.com

/* 在使用MySql时会遇到中文乱码的问题就此写下面两个函数
   * 在写入数据库和从数据库读出时将编码改变
   * author:alice
   * date   :2006/1/25
  */
  //写入数据库时进行转换
  public string GB2312_ISO8859(string write)
  {
   //声明字符集
   System.Text.Encoding iso8859, gb2312;
   //iso8859
   iso8859 = System.Text.Encoding.GetEncoding("iso8859-1");
   //国标2312
   gb2312 = System.Text.Encoding.GetEncoding("gb2312");
   byte[] gb;
   gb = gb2312.GetBytes(write);
   //返回转换后的字符
   return iso8859.GetString(gb);
  }
  
  //读出时进行转换
  public string ISO8859_GB2312(string read)
  {
   //声明字符集
   System.Text.Encoding iso8859,gb2312;
   //iso8859
   iso8859    = System.Text.Encoding.GetEncoding("iso8859-1");
   //国标2312
   gb2312 = System.Text.Encoding.GetEncoding("gb2312");
   byte[] iso;
   iso = iso8859.GetBytes(read);
   //返回转换后的字符
   return gb2312.GetString(iso);
  } 

 //批量数据转换
  //其实就是将dataset的内容读出到xml文件,然后再输出
  public DataSet ISO8859_GB2312(DataSet ds)
  {
   string xml;
   xml = ds.GetXml();
   ds.Clear();
   //声明字符集
   System.Text.Encoding iso8859,gb2312;
   //iso8859
   iso8859    = System.Text.Encoding.GetEncoding("iso8859-1");
   //国标2312
   gb2312 = System.Text.Encoding.GetEncoding("gb2312");
   byte[] bt;
   bt = iso8859.GetBytes(xml);
   xml = gb2312.GetString(bt);
   ds.ReadXml(new System.IO.StringReader(xml));
   return ds;
  }

在读写的时候将上面的函数引用即可。在win2003+vs.net2005+mysql下调试通过。

原创文章如转载,请注明:转载自http://www.yaosansi.com
订阅本站,阅读更多文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright 2005-2008 yaosansi'site All Rights Reserved.

感谢Denny·G 为本站提供FTP空间
辽ICP备05021434号

Search

  •  

赞助商广告

控制面板

最新评论及回复

最近发表