2

Hello!

There is a controller and an action which receives one param through GET, approximately here so:

www.site.com/controller/action/?query=параметр <- Russian word

Problem:

Example 1: www.site.com/controller/action/?query=Пример <- Russian word

Example 2: www.site.com/controller/action/?query=Example

Reading param:

var param = Request.QueryString["query"];

Result 1:

  param = "������"

The data from debugger:

Request.RawUrl = "/controller/action/?q=%CF%F0%E8%EC%E5%F0"
QueryString = {q=%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd}

Result 2:

param = "Example"

The data from debugger:

Request. RawUrl = "/controller/action/?q=Example"
QueryString = {q=Example}

ContentEncoding is setted into UTF-8.

Web.config:
<globalization requestEncoding="utf-8" responseEncoding="utf-8"
           fileEncoding="utf-8" />

Question: How can i correctly get param with russian word?

3 Answers 3

2

You should never use Russian words in URI (и даже не стоит пробовать). You should encode them.

RFC 1738: Uniform Resource Locators (URL) specification

..Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL.

If your users going to enter urls themselves in russian - (for searching) you can try UrlDecode Request.Url

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you very much! UrlDecode works. HttpUtility.UrlDecode(Request.QueryString["q"], Encoding.Default); But very strange, that Encoding.Default is win-1251. I for some reason thought that Win7 fully uses Unicode :(
1

You need to UrlEncode the querystring values.

Comments

0
HttpUtility.UrlDecode(Request.QueryString["q"], Encoding.Default) 

solves the problem.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.