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

Langage PHP Discussion :

Convertir en UTF-8


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut Convertir en UTF-8
    Bonjour,

    Je cherche un moyen de transcrire le sigle euro en UTF8 pour un flux xml

    la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		function nettoie($chaine){
    				$chaine = html_entity_decode(stripslashes($chaine));
    				$chaine = strip_tags($chaine);
    				$chaine = str_replace("€","€",$chaine); 
    				$chaine = str_replace("&","&",$chaine);	
    		                $chaine = str_replace("€;","€",$chaine);  
    				$chaine = utf8_encode($chaine);
    				return $chaine;
     
    		}
    le souci est que est fonctionnel (accent bien pris en compte) sauf le sigle euro qui reste desperement vide

    le fait de convertir € en €, c'est du au fait que dans les texte avant la v2 du site le sigle euro etait insere en dur (donc y'a des € et du € melange)

    merci
    Kenji

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    j'ai trouve la solution pour mon sigle euro.

    je vous laisse la reponse si ca peut aider d'autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = utf8_encode($chaine);
    $chaine = str_replace(chr(0xC2).chr(0x80) , chr(0xE2).chr(0x82).chr(0xAC),  $chaine); // €
    un simple str_replace apres l'encodage en uf8 et le sigle euro est bien passer.

    kenji

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    J'ai le même souci pour œ, mais l'utilisation de son code hexadécimal ne match pas apparemment.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Résolu. Pour le caractère œ (ligature o-e), il faut utiliser chr(156). A noter que pour la version majuscule c'est chr(140).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    désolé de déterrer ce topic, mais je n'ai pas compris comment utiliser la méthode pour le "euro" avec le oe ligature...

    je cherche moi aussi a transcrire ce caractère en utf8 pour un flux xml


    merci

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Salut,

    Concrètement je fais par exemple ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = str_replace(chr(0xC2).chr(0x80), '€', $chaine );

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci beaucoup pour ta réponse !!

    donc pour le oe ca donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = str_replace(chr(156), 'oe', $chaine );
    ?


    si je fais ca, le 'o' et et le 'e' ne sont pas attachés et il y même quelques bugs d'encodage a coté :

    Rideau Tutti Frutti àoe� oe�illets Multicolore

  8. #8
    darthmower
    Invité(e)
    Par défaut
    Salut,

    Je ne sais pas si ça peut aider mais, lors de l'envoie du flux xml vous ne pouvez pas faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    header('Content-Type: text/html; charset=utf-8');
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    header('Content-Type: text/xml; charset=utf-8');
    Si c'est que du xml.

    Gripsou

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 136
    Points
    136
    Par défaut Merci !
    pour vos questions et réponses apportées par vous même dans ce fil.

    j'ai rencontré les 2 problèmes ce jour lors d'une migration de iso-8859-1 vers utf-8. et vos post m'ont immédiatement dépanné.


    encore Merci à des gars comme vous.

    Cordialement
    JnJ

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par kenji33 Voir le message
    j'ai trouve la solution pour mon sigle euro.

    je vous laisse la reponse si ca peut aider d'autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = utf8_encode($chaine);
    $chaine = str_replace(chr(0xC2).chr(0x80) , chr(0xE2).chr(0x82).chr(0xAC),  $chaine); // €
    un simple str_replace apres l'encodage en uf8 et le sigle euro est bien passer.

    kenji
    Tu viens de me sauver la vie avec cette simple ligne de code, alors ça mérite un grand merci !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    de rien

  12. #12
    Candidat au Club
    Homme Profil pro
    test
    Inscrit en
    Août 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : test
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut pb encodage
    slt, Mon pb est que j'ai une base en ISO-8859-15 que je veux afficher en utf8,
    apparamment, le utf8_encode ne fonctionnne pas pour les caractères e dans l'o et euro, please post your solution,

    on ne peut pas modifier l'encodage de la base! ni le charset de la page

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut appréciation
    Merci kenji33

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

Discussions similaires

  1. Convertir xml utf-8 en ISO 8859-1
    Par riadh2406 dans le forum ASP
    Réponses: 1
    Dernier message: 16/12/2009, 10h56
  2. [SQL-Server] Convertir champs UTF-8
    Par Damien_C dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 29/03/2009, 14h43
  3. commande shell pour convertir en utf-8
    Par gtraxx dans le forum Windows XP
    Réponses: 0
    Dernier message: 12/01/2009, 12h13
  4. convertir l'UTF-8 et l'UTF-16 en caracteres
    Par ielbenna dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 11/10/2006, 14h42

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