首页 > 数据库 > mysql教程 > mysql5插入乱码问题_MySQL

mysql5插入乱码问题_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-01 13:35:10
原创
839 人浏览过

bitsCN.com

mysql5插入乱码问题

 

在数据库由4.2升级到5.1.6-comm...之后 都是latin1的默认编码, 以前的程序插入中文乱码 ,以前的写法:在source中加入charset=gb2312,然后在插入前执行set names gb2312即可;

 

在网上找了好多文章,除了上面的写法外 ,就是直接更改数据库的设置,但是这个数据库是买的别人的产品 ,不能随便乱动,只好在代码上作文章, 折腾了好久之后 ,得出以下结论与大家共享,

 

latin1即是iso8859-1, 所以在插入之前需要将内容转换为iso8859-1, 如下:

 

Encoding iso88591 = Encoding.GetEncoding("iso8859-1");

Encoding df = Encoding.Default;

 

byte[] gb2312bytes = df.GetBytes(content);

 //byte[] asciiBytes = Encoding.Convert(df, iso88591, gb2312bytes);

tring str = iso88591.GetString(gb2312bytes);

 

 这样转换之后 ,source中不用加入charset参数 ,程序中也不需要先执行set names **, 即可正常插入

bitsCN.com
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板