Арабская проблема QueryString (???? в значении) - PullRequest
3 голосов
/ 22 июня 2010

Я отправляю арабское значение в строке запроса, при получении его на сервере значение является ошибочным и заменяется кавычками (????).например: http://server/mypage.aspx?qs=مرحبا значение Request.QueryString ("qs") равно ?????

Обратите внимание, что Response.Write ('مرحبا') выполняется правильно.

Есть идеи об этой проблеме строки запроса?

Спасибо.

Ответы [ 4 ]

2 голосов
/ 22 июня 2010

Просто URL Кодируйте арабскую строку, и она должна работать нормально.

Редактировать: Вы должны URL Кодировать строку перед тем, как поместить ее в строку запроса.

Например, если вы хотите, чтобы URLзакодировать символ пробела, он будет отображаться как% 20 в вашей строке запроса, например:

http://foo.com/dosomething?param1=hello%20world

Затем, когда вы читаете param1, вы URL-адрес декодируете его, и вы получаете строку "приветworld "

Вы также можете URL-кодировать каждый отдельный символ, но для обычных символов это бессмысленно.

1 голос
/ 15 августа 2016

Я отправил арабский текст в строку запроса

Arabic text in my query string

, и когда я получил эту строку, она была закодирована enter image description here

после Server.UrlDecode

 departmentName = Server.UrlDecode(departmentName);

снова на арабский enter image description here

, поэтому просто используйте Server.UrlDecode(encodedString);

Надеюсь, это поможет вам

1 голос
/ 04 марта 2011

У меня была похожая проблема, и я решил ее, поместив следующую строку в мой файл web.config:

<globalization fileEncoding="windows-1256" 
    requestEncoding="windows-1256" responseEncoding="windows-1256"/>"

И это в разделе заголовка моей HTML-страницы:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
0 голосов
/ 21 сентября 2013

Неанглийские символы не могут быть переданы без кодирования,

, поэтому вам необходимо закодировать значение перед перенаправлением на целевую страницу следующим образом:

string text="مرحبا";
text=Server.UrlEncode(text);
string url="http://server/mypage.aspx?qs="+text;
Response.Redirect(url);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...