Asp.net 阿拉伯语查询字符串问题(值中的(?)
我在querystring中发送一个阿拉伯语值,在服务器上检索时,该值是错误的,并被引号(??)替换。 例如: Request.QueryString(“qs”)的值是 请注意,Response.Write(‘محبا’)执行正确 你知道这个问题吗Asp.net 阿拉伯语查询字符串问题(值中的(?),asp.net,internationalization,query-string,Asp.net,Internationalization,Query String,我在querystring中发送一个阿拉伯语值,在服务器上检索时,该值是错误的,并被引号(??)替换。 例如: Request.QueryString(“qs”)的值是 请注意,Response.Write(‘محبا’)执行正确 你知道这个问题吗 谢谢。只需对阿拉伯字符串进行URL编码,就可以了 编辑:在将字符串放入查询字符串之前,必须对其进行URL编码 例如,如果要对空格字符进行url编码,它将在查询字符串中显示为%20,如下所示: 然后,当您阅读param1时,您可以对其进行URL解码,
谢谢。只需对阿拉伯字符串进行URL编码,就可以了 编辑:在将字符串放入查询字符串之前,必须对其进行URL编码 例如,如果要对空格字符进行url编码,它将在查询字符串中显示为%20,如下所示: 然后,当您阅读param1时,您可以对其进行URL解码,得到字符串“hello world”
您也可以对每个字符进行URL编码,但对于普通字符,这是毫无意义的。我遇到了一个类似的问题,通过在我的web.config文件中添加以下行解决了这个问题:
<globalization fileEncoding="windows-1256"
requestEncoding="windows-1256" responseEncoding="windows-1256"/>"
”
在我的HTML页面的标题部分:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
非英语字符未经编码无法传递 因此,在重定向到目标页面之前,需要对值进行编码,如下所示:
string text="مرحبا";
text=Server.UrlEncode(text);
string url="http://server/mypage.aspx?qs="+text;
Response.Redirect(url);
我在查询字符串中发送了阿拉伯语文本 当我释放这个字符串时,它被编码了 在
Server.UrlDecode
departmentName = Server.UrlDecode(departmentName);
它又回到了阿拉伯语
所以只要使用Server.UrlDecode(encodedString);
希望这对您有所帮助我直接在浏览器中键入querystring。当页面加载时,它会通过参数将QS传输到Silverlight对象,类似这样:当Silverlight对象接收到参数(e.initparams[“QS”])时,它已经存在???。我应该在哪里准确编码该字符串?