sqlserver中文乱码问题
小弟用asp.net加sqlserver做网站,用服务器控件textbox之类的接收内容再插入数据库正常,但用html的<input type="text">接收内容,再用js传到ashx入库,此时数据库中的内容和读取的内容都是乱码了
改过<system.web>
字体类型为nvarchar
在sql语句中也加过N
还是不行,难道非要用服务器控件吗?
[解决办法]
跟服务器控件没有关系,通常都是编码不统一造成的
[解决办法]
如果还是乱码的话传入ashx,先进行编码,再解码看看
encodeURIComponent
[解决办法]
统一编码。
1、在JS里对中文参数进行两次转码
var login_name = document.getElementById("loginname").value;
login_name = encodeURI(login_name);
login_name = encodeURI(login_name);
2、在服务器端对参数进行解码
String loginName = ParamUtil.getString(request, "login_name");
loginName = java.net.URLDecoder.decode(loginName,"UTF-8");
具体请见 http://blog.csdn.net/Seven_23/archive/2009/09/02/4510670.aspx
[解决办法]
楼上正解!
如果想避免这些问题, 用jQuery的Ajax吧.
JavaScript现在jQuery几乎成为必备啊.
[解决办法]
编码问题