vs2008 winform输入框输入中文后保存到数据库中变乱码问题 我用VS2008做了一个winForm程序,数据库使用的是mysql,创建数据库时已把数据库的字符集设置为utf8,但在程序运行时在文本框中输入中文保存到数据库时变成了乱码,这该如何解决,请各位大虾帮帮忙? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发送请求的时候 设置一下你的Request.ContentType属性,试一试 数据库中,文本框这个字段 前面加N'varchar 定义字段是 字符串类型定义为narchar 插入数据时 字符串前面要加N 例如 N'你好' 不是请求的问题,只是一个简单地winform程序,没有涉及到请求 mysql数据库中没有narchar这种数据类型。而且我需要文本框中既可以输入中文也可以输入英文,如果输入英文的话,在插入数据时字符串前面加N应该不可以吧? public string GB2312ToUTF8(string str) { try { Encoding uft8 = Encoding.UTF8; Encoding gb2312 = Encoding.GetEncoding("gb2312"); byte[] temp = gb2312.GetBytes(str); byte[] temp1 = Encoding.Convert(gb2312, uft8, temp); string result = uft8.GetString(temp1); return result; } catch { return null; } } 连接字符串中加入Unicode=True;Pooling=False;Character Set=auto;试试!有没有用到参数传递,可以试试在参数前加上“?”,而不是“@” 很久没用mysql了,以前也遇到过这种问题,mysqlutf-8好像不行,你用GBK吧,建立表之前好像还要设置两个字符集啥的, 数据库字符集:utf8数据库校对规则:utf8_general_ci 数据库如果设置为utf8,那么存取都要是utf8编码才行。 如何在存取时进行utf8编码 在连接字符串处加上字符设置。然后该mysql的字符编码与你的编译器的编码相同。 c# winform 在picturebox 上画一个矩形 矩形大小可以拖动 问题没解决。。。。再次求问;datagrid简单操作。。。。恳请赐教。。在线,等等等!!!!!!!! 画了一条直线 如何选中 如何把一个DataTable中的一行数据添加到另一个DataTable 递归遍历磁盘目录时弹出对.......的访问被拒绝 [急!急!急!]关于数组与sql的问题 怎样删除文本文件中的一行文字? .net页面中包含js文件的问题!!!!!!! socket发送一个包多大合适呢? 关于MDI 如何替换vs2010自带的jquery库 socket 传输对象怎么判断结尾
不是请求的问题,只是一个简单地winform程序,没有涉及到请求
{
try
{
Encoding uft8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");
byte[] temp = gb2312.GetBytes(str);
byte[] temp1 = Encoding.Convert(gb2312, uft8, temp);
string result = uft8.GetString(temp1);
return result;
}
catch
{
return null;
}
}
有没有用到参数传递,可以试试在参数前加上“?”,而不是“@”
数据库校对规则:utf8_general_ci
如何在存取时进行utf8编码
然后该mysql的字符编码与你的编译器的编码相同。