我在查詢字符串中發送阿拉伯語值時,在服務器上檢索它時,該值是錯誤的並被引號(????)替換。例如: : http://server/mypage.aspx?qs=مرحبا Request.QueryString(「qs」)的值是?????阿拉伯語查詢字符串問題(????中的值)
請注意,Response.Write('مرحبا')正確執行。
有關此查詢字符串問題的任何想法?
謝謝。
我在查詢字符串中發送阿拉伯語值時,在服務器上檢索它時,該值是錯誤的並被引號(????)替換。例如: : http://server/mypage.aspx?qs=مرحبا Request.QueryString(「qs」)的值是?????阿拉伯語查詢字符串問題(????中的值)
請注意,Response.Write('مرحبا')正確執行。
有關此查詢字符串問題的任何想法?
謝謝。
只是URL編碼阿拉伯文字符串,它應該工作正常。
編輯:您必須在將字符串放入查詢字符串之前對其進行編碼。
舉例來說,如果你要的URL編碼空格字符,它會在你的查詢字符串顯示爲%20,如下所示:
http://foo.com/dosomething?param1=hello%20world
然後當你閱讀的param1你網址解碼它,你得到字符串「你好世界」
你也可以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);
我認爲你必須做'UrlDecode' – 2016-08-15 15:06:36
我直接在瀏覽器中鍵入查詢字符串。當頁面加載時,它通過參數傳遞QS到Silverlight對象,如下所示: 「/> 當silverlight對象接收到參數(e.initparams [」qs「])時,它已經是???? 我應該在哪裏編碼字符串? – Zee99 2010-06-23 07:02:02