我在前台页面调用数据库的存储过程时需要传参数,当传的参数是中文时,则数据库的SP接受到的字符变成乱码,比如前台页面传进的是"中国",而数据库端看到的是"中?".在该sp中我把参数的类型无论设成varchar 还是 nvarchar都不行.asp.net怎样以unicode的编码形式把参数传进去呢? 或者数据库端需如何设置呢? 数据库是sqlserver 2000.
解决方案 »
- 关于数组的问题,各位高手帮帮忙(急!!!)
- 我的VS2010会自动添加路径!!!
- 请问:在asp.net中<%# %>和<%= %>,<% %>的区别?
- 小弟是初学者,请高手帮忙,如何在网页显示已经写好的TXT文本文件?急!急!急!急!急!
- 小女子又来提问啦~~图片怎么显示到Web页面上?
- 用C#做应用程序的开发多吗?
- 请教正则表达式代码,将<a href="xxx">yyy</a>中的yyy部分取出来
- 要动态加入的控件本身是自定义的,如何动态引用到父自定义控件中?
- 关于DataGrid的问题,在线等待,谢谢
- easyui的timespinner怎么设置只能修改小时部分
- 无法显示"修改"链接
- 关于图片上传的问题
SqlParameter("@name",SqlDbType.NVarchar)
从aspx的postback得到参数
这个配置在web.config里面
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
配置节设定了传入传出参数的编码方式,另外如果你自己设定了html/aspx页的编码方式,也会影响到request/response的编码方式
第二步才是用得到的参数和数据库交互,基本上你做的是正确的,建议使用nvarcharps:如果用的是request.questring而不是request.Form得到的参数最好使用server.urlencode和server.urldecode编码解码