Lists Home |
Date Index |
Thanks Mike and Michael!
I am using MSXML and XML spy. I tried setting the encoding type in two
<?xml version="1.0" encoding="GB2312"?>
<xsl:output media-type="text" encoding="GB2312" indent="no"/>
Neither of these worked. Is there anything else I should try? How can I
get XML Spy to use "byte" output methods instead of "string"?
Could I perhaps create another xsl that would convert UTF-16 to UTF-8?
Perhaps I could/should use a different XSLT?
Thank you all again!
From: Mike Brown [mailto:firstname.lastname@example.org]
Sent: Tuesday, May 07, 2002 6:44 PM
To: Cutler, Dan
Subject: Re: [xml-dev] Multibyte output
Cutler, Dan wrote:
> I am getting really strange output from this XSL transform.
> The output *looks* perfect - however, each character looks as though it
> prodced in UTF-16 (each char is represented in two byes with a leading 00
> byte). Also, the files begins with a char 127 and char 126???
That's also part of UTF-16. It's the BOM (Byte Order Mark), an indicator of
whether the remaining byte pairs are low-byte first (little-endian) or
high-byte first (big-endian). That is, if it were FE FF instead of FF FE,
00's would be trailing, not leading.
> I explicitly set the encoding to UTF-8 but it still doesn't work.
If you're getting UTF-16 even when you specified UTF-8, I suspect you're
using MSXML (well, the other clue was your xml-stylesheet p.i.) and caching
your output in strings, which on Win32 are always UTF-16 encoded. I'm no
expert on this subject, but it comes up a lot. See if the message at
mike j. brown | xml/xslt: http://skew.org/xml/
denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/