RE: [xsl] IE error | Switch from current encoding to specified encoding not supported.

Subject: RE: [xsl] IE error | Switch from current encoding to specified encoding not supported.
From: "Joe Fawcett" <joefawcett@xxxxxxxxxxx>
Date: Wed, 03 Oct 2007 18:48:29 +0100
Steve

If using classic ASP then this often happens when you use Response.Write to output the XML. By definition this uses UTF-16 so if you've got a different encoding elsewhere there is a clash. You should output XML by specifying the correct content type and using DomDocument.Save(Response) or TransformNodeToObject and passing the Response as the destination.

Joe



From: Steve <subsume@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] IE error | Switch from current encoding to specified encoding not supported.
Date: Wed, 3 Oct 2007 11:53:22 -0400


I'm confused by this error I am receiving in IE. I've never
encountered anything like it and I'm confused as to why the below
template would trigger such an error.

Strangely, the stylesheet begins with:

<?xml version='1.0' encoding="UTF-8"?>

not UTF-16 as in the error.

------
Error

Switch from current encoding to specified encoding not supported.
Error processing resource 'https://server.org/private...

<?xml version="1.0" encoding="UTF-16"?><i>Not logged in</i>
                        ---------------------------------------^

==========

XSL template

<xsl:template match="/">
	<xsl:choose>
		<xsl:when test="$userID or $noAuth='true'">
			<xsl:choose>
				<xsl:when test="$Mode='index'">
					<xsl:apply-templates select="/" mode="index" />
				</xsl:when>
				<xsl:when test="$Mode='search'">
					<xsl:choose>
						<xsl:when test="$R">
							<xsl:apply-templates select="/" mode="search" />
						</xsl:when>
						<xsl:otherwise>
							<h2>No results</h2>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:when>
				<xsl:when test="$Mode='report'">
					<xsl:apply-templates select="/" mode="report" />
				</xsl:when>
				<xsl:otherwise>
					<xsl:call-template name="warning" />
					<xsl:apply-templates />
					<xsl:call-template name="warning" />
				</xsl:otherwise>
			</xsl:choose>
		</xsl:when>
		<xsl:otherwise>
			<i>Not logged in</i>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>

Current Thread