Per JSON's MIME registration), the default byte encoding for JSON text is UTF-8, but the browser is likely ignoring that as well. The browser is likely just ignoring the charset attribute, since technically the official MIME registration for JSON does not include a charset attribute. TIdHTTPServer should be sending a 'Content-Type: application/json charset=utf-8' response header. That is a browser issue, not a TIdHTTPServer issue. For instance, the Unicode character 'é' is encoded in UTF-8 as bytes $C3 $A9, which are the characters 'é' in ISO-8859-1. The browser is simply interpreting the UTF-8 bytes as ISO-8859-1/Latin-1 when displaying the bytes. The screenshot actually shows the JSON text is encoded as UTF-8.