ASP.net URL传中文参数

asp页面Page_Load中是这样写的:
string userName = Request.Params.Get("userName");

在浏览器地址栏输入http://localhost:50754/pages/test.aspx?userName="用户名"
这时再服务器端取到的userName是乱码。

Web.config文件中的编码设置是:
<globalization requestEncoding="UTF-8"/>
这个不能改。请问应该怎么解决乱码的问题?

IE -> 工具 -> Internet选项 -> 高级 -> 总是以 UTF-8 发送也选上了。
Reuqest.QueryString["userName"]也是乱码

第1个回答  2009-11-16
看看你的数据库编码是什么,gbk的支持中文编码,可以整理数据库为gpk编码。utf-8的一般支持的是英文和西文字体。
不够详细的话可以参看一下数据字符编码的资料:

参考资料:http://www.hudong.com/wiki/%E8%A7%92%E7%82%B9%E6%A3%80%E6%B5%8B

第2个回答  2009-11-16
不能改Web.config的就在页面级设置嘛
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="Test_Default1" ResponseEncoding="GB2312" %>
第3个回答  2009-11-16
编码username = Server.UrlEncode("用户名");

解码 string username = Server.UrlDecode((string)Reuqest.QueryString["userName"])
第4个回答  2009-11-16
你用javascript获取试试,escape/unescape
第5个回答  2009-11-16
你用Reuqest.QueryString["userName"]试试..
相似回答