18

Is HTTP headers limited to US-ASCII charset?

Can I use unicode characters in HTTP headers?

Edit:

I want to do like this:

WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Content-Type","یونیکد");
3
  • is that what you're looking for? >> w3.org/International/O-HTTP-charset Commented Sep 27, 2011 at 9:51
  • possible duplicate of Which encoding is used by the HTTP protocol? Commented Sep 27, 2011 at 9:55
  • Since that Content-Type does not match any of the official MIME-Types, no standard software can use it. What is the effect you intend to achieve? Commented Jun 27, 2019 at 16:00

2 Answers 2

25

First of all, the header field in your example does not allow what you want; media type names are ASCII.

In theory, HTTP header field values can transport anything; the tricky part is to get all parties (sender, receiver, and intermediates) to agree on the encoding.

Thus, the safe way to do this is to stick to ASCII, and choose an encoding on top of that, such as the one defined in RFC 5987.

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

2 Comments

It would be very useful to know which popular User Agents and proxies support RFC 5987.
Piotr: RFC 5987 can only be used for parameters in header fields, and then only if sender and receivers agree on it, such as in Content-Disposition's filename parameter.
-8

Accept-Charset: iso-8859-5, unicode-1-1;q=0.8

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

1 Comment

Dosn't this apply to the document not the headers?

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.