IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

[XML] Caractères spéciaux encodés en \303\xyz ou \317\xyz [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut [XML] Caractères spéciaux encodés en \303\xyz ou \317\xyz
    Je fait une requête toute bête à mon serveur, et mon sniffeur me dit qu'entre mon browser et le serveur, mes accents ou caractères spéciaux sont transformés en \303\251 pour é, ou \317\206 pour le caractère html phi.

    Pourtant ma requête a une content-Type txt/xml; charset=UTF-8 des plus classiques.

    Dans mon serveur Java, ça se transforme ensuite en é

    Vous savez comment des caractères unicodes normaux ?

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    Pourtant ma requête a une content-Type txt/xml; charset=UTF-8 des plus classiques.
    et bien la, il y a déja un problème : UTF-8, c'est l'encodage ricain donc pas d'accents => il faudrait que tes fichiers soient plutôt codés en iso-8859-1

    Ta page est écrite en français ou en anglais ?

    Tu as essayé de passer ta page au validateur W3C ?

  3. #3
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    J'ai fait une fonction Javascripts qui transforme les caractères particuliers en &#xxx avant de passer dans la requête, et ca se passe pas si mal.

    Si ce n'est qu'un moment mon '&' de &#xxx se transformait en & . Pour l'instant je n'ai pas de mauvaises surprises sur mes deux PC, sous FF et IE.

    Mais ces histoires d'encodages sont bien complexes !!!!

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    normalement, si tu sélectionnes le bon charset (iso-8859-1), que tu enregistres ton fichier au bon format (AINSI) et si ton serveur gère correctement le format (qu'il ne transforme pas des caractère AINSI en UTF-8 et qu'il ne change pas le charset dans l'entête HTTP), tu ne devrais pas avoir besoin d'encoder tes caractères

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>TEST</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    	</head>
     
    	<body>
    		<p>marché</p>
    	</body>
    </html>
    => affiche "march?"

    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>TEST</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	</head>
     
    	<body>
    		<p>marché</p>
    	</body>
    </html>
    => affiche "marché"

  5. #5
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    iso-8859-1 ne me convient pas car je veux quelque chose d'international comprenant l'arabe, le chinois, le coréen, etc.

    Je me suis aperçu aussi que je méttais UTF-8 hans le header, mais que je me passais de <?xml version="1.0" encoding="utf-8" ?>
    Chose rectifiée.
    Thanx pour tes reply.

  6. #6
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Le XML accepte très bien tout symbole comme & #254; mais pas les HTMLEntities.

    Je règle le problème avec ce genre de fonctions (necessite Prototype)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     convertHTMLEntitiesToXML : function (text){
     
            var i;
            var xml = new Array('"','&','&','<','>',' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','*','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ', '&#x20AC;');
            var html = new Array('&quot;','&amp;','&amp;','&lt;','&gt;','&nbsp;','&iexcl;','&cent;','&pound;','&curren;','&yen;','&brvbar;','&sect;','&uml;','&copy;','&ordf;','&laquo;','&not;','*','&reg;','&macr;','&deg;','&plusmn;','&sup2;','&sup3;','&acute;','&micro;','&para;','&middot;','&cedil;','&sup1;','&ordm;','&raquo;','&frac14;','&frac12;','&frac34;','&iquest;','&Agrave;','&Aacute;','&Acirc;','&Atilde;','&Auml;','&Aring;','&AElig;','&Ccedil;','&Egrave;','&Eacute;','&Ecirc;','&Euml;','&Igrave;','&Iacute;','&Icirc;','&Iuml;','&ETH;','&Ntilde;','&Ograve;','&Oacute;','&Ocirc;','&Otilde;','&Ouml;','&times;','&Oslash;','&Ugrave;','&Uacute;','&Ucirc;','&Uuml;','&Yacute;','&THORN;','&szlig;','&agrave;','&aacute;','&acirc;','&atilde;','&auml;','&aring;','&aelig;','&ccedil;','&egrave;','&eacute;','&ecirc;','&euml;','&igrave;','&iacute;','&icirc;','&iuml;','&eth;','&ntilde;','&ograve;','&oacute;','&ocirc;','&otilde;','&ouml;','&divide;','&oslash;','&ugrave;','&uacute;','&ucirc;','&uuml;','&yacute;','&thorn;','&yuml;', '&euro;');
     
        for (i=0;i<xml.length;i++){
                text=text.gsub(html[i], xml[i]);
        }
     
            return text; 
     
     
        }
    Le gag étant bien sûr que l'éditeur de Developpez.com transforme mes & #34; en "
    Si vous voulez des fonctions javascript pour convertir les HTMLEntities en Numeric Entities, envoyez-moi un message personnel.

    J'avais peur que cela prenne un temps machine conséquent, mais c'est finalement très négligeable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH] XML Caractères spéciaux
    Par sachbak dans le forum APIs
    Réponses: 1
    Dernier message: 20/11/2010, 23h08
  2. Interprétation XML : caractères spéciaux?
    Par oclone dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/07/2010, 10h11
  3. Conseils XML - Caractères spéciaux
    Par broise dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 14/08/2008, 11h38
  4. [XML] caractères spéciaux dans un type NMTOKEN
    Par norkius dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 08/09/2004, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo