#72 closed defect (fixed)
Django should add charset info to output HTTP headers
Reported by: | anonymous | Owned by: | Adrian Holovaty |
---|---|---|---|
Component: | Core (Other) | Version: | |
Severity: | normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
It seems Django doesn't add the "charset=utf8" field to "Content-type: text/html" header while sending headers to the browser. This cause pages encoded as UTF-8 look wrong in the browser (Firefox assumes page is encoded using iso-8859-1, which is the default HTTP encoding).
Sample headers sent by Django:
Date: Mon, 18 Jul 2005 20:51:43 GMT Server: Apache/2.0.54 (Win32) mod_python/3.1.4 Python/2.4.1 Connection: close Transfer-Encoding: chunked Content-Type: text/html 200 OK
Patching Content-type header to look like "Content-Type: text/html; charset=utf-8" would make clear which encoding is used by the server.
Change History (5)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
All those pages "generated" by Django, or better, all those pages where Django has a change to set response headers.
comment:4 by , 18 years ago
Ok, what happens if I want a different encoding, other then utf8 ?
Is there a way to change the default behaviour ?
comment:5 by , 12 years ago
Easy pickings: | unset |
---|---|
UI/UX: | unset |
response['Content-Disposition'] = 'attachment; filename=%s'% file_name.encode('utf-8')
You're suggesting that it send out the charset just for admin pages, right? Not for every page by default?