会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
莫为然
博客园
首页
新随笔
联系
订阅
管理
使用MySql时会遇到中文乱码的问题
编码转换的代码:
/*
在使用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);
}
以上是C#代码,只能进行单个转换,如果需要批量转换的话,则可以将dataset里面的数据先读入xml文件,然后在页面显示。
//
批量数据转换
//
其实就是将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;
}
posted @
2014-01-02 09:09
莫为然
阅读(
246
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告