| Subject: Re: [xsl] Newbie encoding query From: Mike Brown <mike@xxxxxxxx> Date: Wed, 4 Dec 2002 00:24:49 -0700 (MST) | 
Satish, L. Gnanendra wrote:
> The UserManual.XSL has a parameters which has to have a trademark
> symbol(#153):
*Some* HTML user agents allow one to illegally use ™ to refer to
codepoint 153 of the windows-1252 encoding, but this is wrong for two reasons:
1. The number in a numeric character reference in XML or HTML is, by
definition, a character's Unicode codepoint. Unicode code point 153
corresponds to a legacy control character: SINGLE GRAPHIC CHARACTER INTRODUCER
(SGCI), which is not what you want.
2. Although not enforced, HTML's SGML declaration disallows Unicode characters
in the range 127-159, in addition to those that are disallowed by XML. You
cannot have them in a conforming HTML document, not even by reference.
™ is the trademark symbol. You must use that in your XML and XSLT.
Do not use ™.
> <xsl:output method="html" encoding="UTF-8"/>
> My problem is that, when it is viewed in a IE6 browser, the parameter "GUI"
> displays:
> User Interface of PrismaÂ(tm) which is not it should be. I want to eliminate
> "Â" char from the html view. how do i go about this?
You asked for UTF-8 output. If you represent the Unicode character #153 in 
UTF-8, you get 2 bytes: <C2 99>. If you then view this output in an 
environment that does not recognize UTF-8, those bytes will be displayed as
characters from some other encoding. In your case, they are being mistakenly 
assumed to be windows-1252 bytes.
Really, you wanted Unicode character #8482, which in UTF-8 is 3 bytes:
<E2 C4 A2> which is going to look like an even uglier mess until you
correct the other problem: your web browser does not know that the
HTML is UTF-8 encoded.
Your XSLT processor should have added <meta http-equiv="Content-Type"
content="text/html;charset=UTF-8"> to the <head> of your HTML output. This
meta tag will tell your browser that the document's bytes are UTF-8 encoded
characters.
I suspect that your XSLT processor did not do this because you did not put a
<head> in your document, which is an HTML error anyway. Fix that. All HTML 
documents require a head, title and body:
<html>
  <head>
    <title>...</title>
  </head>
  <body>
    ...
  </body>
</html>
Mike
-- 
  Mike J. Brown   |  http://skew.org/~mike/resume/
  Denver, CO, USA |  http://skew.org/xml/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] Newbie encoding query, Satish, L. Gnanendra | Thread | RE: [xsl] Newbie encoding query, Passin, Tom | 
| [xsl] Re: Count leading spaces usin, Dimitre Novatchev | Date | [xsl] Trim() as a single XPath expr, Dimitre Novatchev | 
| Month |