[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Problem: special characters replaced by different encoding

  • To: Julian Reschke <julian.reschke@g...>
  • Subject: Re: Problem: special characters replaced by different encoding inHREF
  • From: nicolas.m@e...
  • Date: Wed, 29 Oct 2003 10:00:24 +0100
  • Cc: xml-dev@l...
  • In-reply-to: <3F9F7C82.1080204@g...>

asp special characters

Thanks for the answer. The problem is that this string is first passed to my ASP page and then sent away to the server where my XML came from and that's when it's not recognized anymore. I have no control over this server so I am looking for a way to reconvert this string before sending it off.

Nicolas



Julian Reschke <julian.reschke@g...>

29/10/2003 09:38 AM

To
nicolas.m@e...
cc
Subject
Re: Problem: special characters replaced by different encoding in HREF





nicolas.m@e... wrote:
>
> Hi
>
> This is my HTML end result:
>
>         <a href=""content_recherche2.asp?p00=S%C3%A9rieyx,"
> Herv%C3%A9">Sérieyx, Hervé</a>
>
> As you can see I am using special (french in this case) characters. For
> some reason the character "é"  or "%E9" is replaced by "%C3%A9". This is
> the XSL code:
>
>         <xsl:for-each select="contributor">
>                 <xsl:variable name="contributor_name" select="@name"/>  
>      
>                 <a
> href=""content_recherche2.asp?p00={$contributor_name}"><xsl:value-of"
> select="$contributor_name"/></a> <br />        
>         </xsl:for-each>                                                
>        
>
> The encoding is right when it is simply printed on screen but different
> when used in the HREF tag. I'm assuming special characters are forbidden
> in URL's and therefor replaced by unicode (?) characters. However I have
> no idea how to revert them to their original encoding.

They are replaced by the UTF-8 encoded, then %-escaped sequence. See:

<http://www.w3.org/TR/xslt#section-HTML-Output-Method>

"The html output method should escape non-ASCII characters in URI
attribute values using the method recommended in Section B.2.1 of the
HTML 4.0 Recommendation."

>
> The header in my XSL is
>
>         <xsl:output method="html" encoding="iso-8859-1"/>
>
> I've tried setting it to UTF-8 but that didn't change anything. The
> header in the XML is
>
>         <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

That doesn't have any influence. Summary: if you want to use non-ASCII
characters in URLs, you simply should let the UTF-8 encoding happen, and
thus the server should be able to parse that (how would it be able to
support the whole Unicode range otherwise?).

Julian

--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.