14

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","یونیکد");
Amir Saniyan
  • 13,014
  • 20
  • 92
  • 137
  • is that what you're looking for? >> http://www.w3.org/International/O-HTTP-charset – JMax Sep 27 '11 at 09:51
  • possible duplicate of [Which encoding is used by the HTTP protocol?](http://stackoverflow.com/questions/818122/which-encoding-is-used-by-the-http-protocol) – Thilo Sep 27 '11 at 09: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? – foo Jun 27 '19 at 16:00

2 Answers2

22

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.

Community
  • 1
  • 1
Julian Reschke
  • 40,156
  • 8
  • 95
  • 98
  • It would be very useful to know which popular User Agents and proxies support RFC 5987. – Piotr Dobrogost Apr 12 '12 at 20:22
  • 1
    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. – Julian Reschke Apr 13 '12 at 07:32
-7

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

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

onurbaysan
  • 1,248
  • 8
  • 27