Closed Bug 226941 Opened 21 years ago Closed 21 years ago

HTTP headers lack "; charset=UNICODE-1-1-UTF-8"

Categories

(Bugzilla :: Query/Bug List, defect)

2.16.4
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 126266

People

(Reporter: u20230201, Assigned: justdave)

Details

User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.2.1) Gecko/20021204 Build Identifier: Mozilla 1.4 show_bug.cgi emits an UTF-8 charset header for HTML output, but buglist.cgi does not. This means that any 8-bit character in the summary looks wrong in the bug list, but looks correct when opening the bug. Reproducible: Always Steps to Reproduce: 1. Create a bug with summary "problem with §123" 2. Query for the bug (buglist) 3. Open the bug Actual Results: The buglist shows an odd summary, the show_bug shows the correct character Expected Results: Same character coding should be advertised for any page.
OS: Windows XP → Linux
Version: unspecified → 2.16.4
Are you sure your installation hasn't customized its headers manually? In 2.16, charset emission was done in each page individually, and when not specified user agent auto-detection kicks in. I don't think we would be specifying a charset in one page and not in the other. Bug 126266 involves providing facilities for administrator-set character set encodings. Note that with bug 201816 this has only to be changed in one place. All this applies only to the 2.17 trunk of course.
I have not customized any headers or templates in any way. I could not even find where the UTF-8 is specified.
I noticed that this bug does not appear in MS-Windows/XP with Internet Explorer: It switches to UTF-8 for the buglist, but I don't know why. Maybe it's the default. Changing the character encoding manually to UTF-8 also fixes the problem in Mozilla, but I still think the buglist output should provide a charset name.
Yes, there are no charsets being specified at all right now. If your browser is getting any it's autodetecting on its own and not getting anything from the server. What you can try as a quicker hack than changing all of the files is, if you're using Apache, add a "AddDefaultCharset utf-8" to the .htaccess file in your Bugzilla directory. *** This bug has been marked as a duplicate of 126266 ***
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
The suggested addition "AddDefaultCharset utf-8" seems to have no effect on the output of CGI scripts. The output starts with: --thisrandomstring Content-Type: text/html Set-Cookie: LASTORDER=... Set-Cookie: BUGLIST=... So there's no charset information present. RFC2616 suggests taht the charset should be in the Content-Type (e.g. Content-Type: text/html; charset=ISO-8859-4).
The directory in question needs the FileInfo privilege on the AllowOptions line for that directory in your httpd.conf file. Alternately, you can try putting the AddDefaultCharset directive in your httpd.conf file in a <Directory> block for that directory or by itself if you don't mine it applying to the entire server.
Proof by trying: I replaced the "Content-Type: text/html\n" with "Content-Type: text/html; charset=UNICODE-1-1-UTF-8\n", and the problems I had were gone. I just replaced all occurrencies in buglist.cgi 1.169.2.12 (2.16.5). Other CGI scripts have the same problem.
Summary: buglist.cgi lacks UTF-8 charset attibute → HTTP headers lack "; charset=UNICODE-1-1-UTF-8"
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.