字符串编码不能正常工作IE9

时间:2014-12-09 09:21:15

标签: c# asp.net encoding internet-explorer-11

我正在使用服务器端代码从用户那里获取所有参数,使用name参数,如下所示,

string name = HttpContext.Current.Request.QueryString["name"];

我也必须用希伯来语传递名字。当我用Chrome和Firefox传递希伯来语时,一切都很好,但是,

在IE中,希伯来语序列即将来临?????

有没有办法在服务器端修复此问题?

提前致谢!

2 个答案:

答案 0 :(得分:0)

我认为你应该使用HttpUtility.ParseQueryString方法。

var qsParsed= HttpUtility.ParseQueryString("phone=05099999&name=%3f%3f%3f%3f%3f&carNo=555555");
var name= qsParsed["name"];
  

ParseQueryString方法使用UTF8格式来解析查询字符串   在返回的NameValueCollection中,URL编码的字符是   解码和多次出现相同的查询字符串参数   被列为单个条目,用逗号分隔每个值。

答案 1 :(得分:0)

经过大量研究,我发现了问题。

在客户端,我的ajax如下:

$.ajax({
            type: "GET",
            url: "/inc/Handlers/CarSale/CallMeHandler.ashx?phone="
                + data.prefix + data.phone + "&name=" + data.name +
                "&carNo=" + callme.siblings("input").val(),
            //data: data
        })

为了做手动解析我需要添加encodeURIComponent(data.name) ...所以IE会做正确的解析。

先谢谢你,所以你很有帮助!