title: What character set should I assume the encoded characters in a URL to be in?
body: <p><a href="http://www.ietf.org/rfc/rfc1738.txt" rel="noreferrer">RFC 1738</a> specifies the syntax for URL's, and mentions that</p>
  
  <blockquote>
    <p>URLs are written only with the graphic
    printable characters of the<br>
    US-ASCII coded character set. The
    octets 80-FF hexadecimal are not<br>
    used in US-ASCII, and the octets 00-1F
    and 7F hexadecimal represent<br>
    control characters; these must be
    encoded.</p>
  </blockquote>
  
  <p>It does not, however, say what code set these octets then represent.</p>
  
  <p><a href="http://www.ietf.org/rfc/rfc2396.txt" rel="noreferrer">RFC 2396</a> seems to try and improve on the situation, but:</p>
  
  <blockquote>
    <p>For original character sequences that
    contain non-ASCII characters, however, the situation is more
    difficult. Internet protocols that transmit octet sequences intended to
    represent character sequences are expected to provide some way of
    identifying the charset used, if there might be more than one
    [RFC2277].  However, there is currently no provision within the
    generic URI syntax to accomplish this identification. An individual URI
    scheme may require a single charset, define a default charset, or
    provide a way to indicate the charset used.</p>
    
    <p>It is expected that a systematic treatment of character encoding within URI will be
    developed as a future modification of this specification.</p>
  </blockquote>
  
  <p>Is there any unambigous way in which a client can determine in which character set to interpret encoded octets, or in which a server can determine what a client used to encode with ?</p>
  
  <p>It looks to me like most servers default to UTF-8, but this seems to be a de facto choice more than a specified one.</p>