目前情况如下:
1、使用不同的管理工具,中文内容显示有乱码有正常(用哪个写进去的哪个就正常)
2、在SHELL界面中,通过set names ''可以正常select/update/insert中文内容
3、在C#程序中select/update/insert就会出乱码
4、尝试过将数据库/表/字段均设置为utf8
5、尝试过在my.ini文件中配置 default-character-set = gbk请用过的没用的的都帮忙看看。
过年了,如果你闲下来了,请动动手,实际做做试试。
如果把调通的代码贴上来了,分还可以再加。。
1、使用不同的管理工具,中文内容显示有乱码有正常(用哪个写进去的哪个就正常)
2、在SHELL界面中,通过set names ''可以正常select/update/insert中文内容
3、在C#程序中select/update/insert就会出乱码
4、尝试过将数据库/表/字段均设置为utf8
5、尝试过在my.ini文件中配置 default-character-set = gbk请用过的没用的的都帮忙看看。
过年了,如果你闲下来了,请动动手,实际做做试试。
如果把调通的代码贴上来了,分还可以再加。。
用mysql比较少啊
http://community.csdn.net/Expert/topic/5342/5342472.xml?temp=.2362482
在你的数据库链接的php页面下找到类似的这样一段:
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
在它的前面先执行一次connection的字符集更改:
$this->query("SET NAMES 'gb2312'");
如果问题解决了,则可以肯定是你的数据库经过导入出现了问题.
如果同样有问题,可能你前端程序用的是另一种编码如utf8,后台数据库用gbk
在和数据库交互时,c#要做编码转换。
2、set names 已经执行
3、程序insert、update的记录在控制台显示也是乱码
4、default-character-set已经设置
5、正在重新安装数据库并重新设置所有编码为gb2312进行测试
详细说明如下:误区:
近几天来搜索网上资源介绍理论上的可选编码方案为:gb2312/gbk/utf8等支持双字节的编码类型均可,实际试验过程中发现并不是这样的。
A、大家跟风都想使用utf8,但UTF8在处理中文时并非想像中的理想,Select/Update/Insert均出现乱码;
B、gbk字符集远大于gb2312,是第二首选字符集,但在Server/Database设定为GBK字符集后,在程序中连接都不成功(not support),更不用说操作;最终解决方案:
1、选用gb2312编码
2、设置my.ini文件中的默认编码
分别在[mysql]和[mysqld]配置段中增加或修改default_charater_set=gb2312
3、创建数据库时编码选用gb2312
4、创建表时编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验)
5、针对具体需要存放中文的字段设定编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验)改进:
如果确实需要存放gbk编码字符,请在连接成功后执行set names gbk其他还有补充的请及时回复,今天17:00结贴,会把大家的建议进行总结。