Bonjour,
On jeu, 2005-04-21 at 14:09 +0200, Bonca wrote:
> Une petite question technique sur l’encodage unicode, car dans le cas que je
> vais vous expliquer ci-dessous je ne comprends plus rien.
.../...
>
> Du coté client j’ai le code suivant (en rouge le texte que j’envoie avec
> accent dans un cdata car il peut contenir du script) :
Il y a une première chose qui me choque (mais qui n'explique sans doute
pas le problème que vous tentez de résoudre...
Si j'ai bien compris, la structure de votre page est :
<script src="sarissa.js"></script>
<script>
.../...
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
.../...
<html>
C'est à dire que vous avez trois éléments racine (alors qu'il faut
impérativement n'en avoir qu'un) et que la déclaration DOCTYPE n'est pas
au début de votre document.
Il faut que vous adaptiez votre structure pour avoir :
<!DOCTYPE...
<html>
<head>
<script></script>
<script></script>
.../...
</head>
.../...
</html>
(je simplifie).
> Du coté serveur j’ai le code suivant (en rouge le texte que j’envoie avec
> accent dans un cdata car il peut contenir du script) :
>
> J’ai un encodage avec un codepage 65001 pour prendre en compte l’unicode. Je
> renvoie exactement la chaîne transmise par la requête cliente suivi de
> ‘à à à à à ’ et resuivi de la première chaîne.
>
> Et là problème, le client récupère bien les 2 chaînes ééé mais la chaîne
> ‘à à à à ’ entre les deux n’apparaît pas sur le client.
>
> Question Est-ce un problème de codage de la chaîne du coté serveur
Cela y ressemble!
> et dans
> ce cas comment faire pour lui faire accepter ces caractères additionnels ?
Ce n'est qu'une hypothèse (je n'ai jamais utilisé Windows côté serveur),
mais lorsque vous écrivez :
> response.write "<?xml version=""1.0"" ?>"
A ce niveau, vous ne spécifiez pas d'encodage, ce qui signifie pour un
parseur XML que vous allez utiliser les encodages par défaut (utf-8 ou
utf-16)...
> response.write "<response>"
>
> response.write "<recu><![CDATA["
>
> response.write xmldoc.selectsinglenode("/request/texte").text&"
> Ã Ã Ã Ã Ã Ã "& xmldoc.selectsinglenode("/request/texte").text
ici, vous envoyez des caractères accentués qui doivent, pour être
compris par le client, lui arriver avec l'encodage spécifié dans votre
entête (par défaut utf-8 ou utf-16).
Si votre serveur n'est pas configuré pour renvoyer un de ces encodages
et le spécifier dans les headers HTTP, vous pouvez créer un problème
lors de la lecture de ces caractères par le poste client.
Personnellement, je commencerais par regarder ce point en utilisant, par
exemple, un outil de trace réseau (sous Linux je conseille tcpspy, sous
Windows, Ã vous de voir :-) ...).
Cordialement,
Eric van der Vlist
--
Lisez-moi sur XMLfr.
http://xmlfr.org/index/person/eric+van+der+vlist/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Apr 21 16:01:21 2005