Closed
Bug 484389
Opened 16 years ago
Closed 16 years ago
Problem with junk character in source
Categories
(Firefox :: General, defect)
Tracking
()
VERIFIED
DUPLICATE
of bug 155047
People
(Reporter: marun2, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3
Pls see below for how to reproduce issue
Reproducible: Always
Steps to Reproduce:
1. Go to www.49dollarlogo.com/testcase.html (FF 3.1 beta 3)
2. View source to find "&fr"
3. View on page display
4. Open same site with IE8
Actual Results:
The & character is getting replaced with another character
Expected Results:
Show as-is in source
Updated•16 years ago
|
Status: UNCONFIRMED → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Comment 2•16 years ago
|
||
Hi I dont understand - that bug report is totally different than this one. It cannot show some other symbol in place of &fr - that is plainly wrong. I am sure my bug report is not a duplicate of the other bug report - pls verify again because that bug report is marked invalid - this one looks totally different to me
Comment 3•16 years ago
|
||
&rpp should be &rpp
&lang should be &lang
<!ENTITY lang CDATA "〈" -- left-pointing angle bracket = bra,
U+2329 ISOtech -->
http://www.w3.org/TR/html4/sgml/entities.html
Status: RESOLVED → VERIFIED
Reporter | ||
Comment 4•16 years ago
|
||
Thats how magpie displays the URL as-is -
And how do you explain this
www.49dollarlogo.com/testcase2.html
I have not put & but it shows & which is as expected.
Also in my original test case, if the entity is wrong then how come it shows this "〈=fr" it looks like a less than symbol to me. And in my original test case how come the first &rpp shows the ampersand and the second one does not? It IS a bug.
Comment 5•16 years ago
|
||
Because lang is a named entity and rpp is not see http://www.fileformat.info/format/w3c/htmlentity.htm and http://www.fileformat.info/info/unicode/char/2329/index.htm
Reporter | ||
Comment 6•16 years ago
|
||
Hmm OK I dont understand it. But I guess it is something too technical for me.
Reporter | ||
Comment 7•16 years ago
|
||
Hi I dont have the ; in lang. So it cant be assuming I mean the HTML entity ⟨. If this were permitted then somebody with the web page text "&language" will get weird characters. This looks like the other bug report, but that has been marked resolved or invalid. I find that is questionable.
Comment 8•16 years ago
|
||
See: https://bugzilla.mozilla.org/show_bug.cgi?id=155047#c2
If you don't understand it then just accept that the ampersand should be encoded as &
Reporter | ||
Comment 9•16 years ago
|
||
Hi allow me to say it is not a question of how it should be encoded. It is the way it has been encoded, and the question is how Firefox chooses to display it. If I have "&lang" in any web page then it would show that left angle mark? Even as per the Unicode tables you have given, only ⟨ should be treated as referring to the Unicode left angle mark to be displayed.
Comment 10•16 years ago
|
||
http://www.w3.org/TR/html4/charset.html#h-5.3
See the second note.
Reporter | ||
Comment 11•16 years ago
|
||
Thanks for pointing it out, but it clearly says "in some cases" and this test case is not "at a line break" or "imm before a tag". if Firefox is a "user agent that requires this character to be present (the semicolon)" then it should not display the Unicode symbol, because it requires the semicolon to be present. if the semicolon is not present, then it needs to be displayed as is, because it is no longer a html entity reference, but another different reference to a normal "&lang=" in this case. IE8 is correct in displaying this as-is, and I havent checked with other browsers.
Comment 12•16 years ago
|
||
Look I tell you what, when the testcase validates I'll give a crap:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.49dollarlogo.com%2Ftestcase.html&charset=%28detect+automatically%29&doctype=Inline&group=0
Reporter | ||
Comment 13•16 years ago
|
||
Apparently, IE8 also shows the Unicode symbol even without the semicolon in the html entity reference. But it treats &lang= differently than others without semicolon. it displays &lang= as it is, but will substitute the pound symbol for £=
http://www.49dollarlogo.com/testcase3.html
That is a bug in IE8, because it shows an empty character placeholder for the actual "⟨" which Firefox correctly shows.
In any case, it is clear that both browsers have understood the spec the same way, i.e., dislpay the Unicode symbol even without a semicolon in the entity reference. So now I write "dollar£¢" and it is shown with currency symbols and if I escape the & then it shows &.
Reporter | ||
Comment 14•16 years ago
|
||
Not all web pages are written to validating standards, and all the browsers are supposed to handle non-standard coding that wont validate. it cant be controlled how the webmasters write their code, but the browser is supposed to make the best effort to display what was originally intended to be shown. So in this case, I have done what I can to get it to validate now, but regardless of passing validation, the assumption of showing the unicode symbol without the semicolon in the entity reference is questionable. I dont know who made such a standard, and probably they did it because there was no one else to argue with them who has the time money energy and resources.
You need to log in
before you can comment on or make changes to this bug.
Description
•