数据库端的字符集全是utf8,web.config也设置了 <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN" />
在mysql administrator中插入的中文能够正常显示,但在页面中插入的汉字显示成??
在mysql administrator中插入的中文能够正常显示,但在页面中插入的汉字显示成??
解决方案 »
- MySQL中文乱码问题,字段已经是utf8
- create trigger出错的问题
- 显示mysql中的数据库,在线等待
- mySQL5.0 中怎样得到用户表的各种信息??
- 从TXT文件中导入数据一个字符为乱码
- 安装mysql到d:\mysql,为什么连接不上?
- 能不能介绍一下MYSQL-FRONT的用法啊
- $$$给分请教:我把Linux上的一个网站下到win2000上,并且配置好了环境,但大量出现Warning: Failed opening '/home/www/include/global/c
- 统计查询问题
- 新手!mysql数据库建表问题
- mysql类型转换函数?????
- mysql 中 SELECT(*)的问题
* 在写入数据库和从数据库读出时将编码改变
* 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;
}
如何还有问题,可以看我的blog
http://blog.csdn.net/xiangeialice