Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  convertir \u00eb en ë (résolu, problème d'encodage/décodage)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

convertir \u00eb en ë (résolu, problème d'encodage/décodage)

n°2026183
reptile17
Posté le 30-09-2010 à 18:01:25  profilanswer
 

Bonjour,
 
Je récupère la chaine "no\u00ebl" dans une variable mais j'aimerais qu'à l'affichage ça donne "noël". Je pense qu'il y a une histoire d'encodage/décodage mais je viens de passer pas mal de temps à googler, pas moyen de trouver.
Un petit coup de pouce SVP ?
Merci !


Message édité par reptile17 le 01-10-2010 à 02:10:46

---------------
« It's time to kick ass and chew bubble gum. And I'm all outta gum. » --Duke Nukem
mood
Publicité
Posté le 30-09-2010 à 18:01:25  profilanswer
 

n°2026223
Pascal le ​nain
Posté le 01-10-2010 à 00:14:39  profilanswer
 

Oui c'est bizarre, elle vient d'où ta variable ?

n°2026226
stealth35
Posté le 01-10-2010 à 00:21:21  profilanswer
 

c'est le javascript qui fait ca, c'est de l'utf-16

 
Code :
  1. $str = 'no\u00ebl';
  2. echo preg_replace('/\\\\u([a-z0-9]{4})/ei', "iconv('UTF-16', 'UTF-8', pack('H4', '$1'))", $str);
  3. //noël


Message édité par stealth35 le 01-10-2010 à 00:37:58
n°2026228
reptile17
Posté le 01-10-2010 à 01:21:25  profilanswer
 

Merci ! mais en fait ça ne marchait apparemment pas alors j'ai changé ton code :

Code :
  1. echo preg_replace('/\\\\u([a-z0-9]{4})/e', "chr(hexdec('$1'))", $str);


 
et là ça fonctionne impec.
pour info c'est que je récupère un json par l'API graph de facebook et s'il y a un caractère accentué dans le nom par exemple, il est écrit sous forme unicode.
 
bye!


Message édité par reptile17 le 01-10-2010 à 01:22:38

---------------
« It's time to kick ass and chew bubble gum. And I'm all outta gum. » --Duke Nukem
n°2026229
reptile17
Posté le 01-10-2010 à 02:10:06  profilanswer
 

bon en fait je m'étais enflammé :sarcastic: ça marchait tjs pas.
 
mais j'ai trouvé la soluce : au lieu de faire :

Code :
  1. $name = json_decode($page)->{'name'};
  2. echo preg_replace('/\\\\u([a-z0-9]{4})/e', "chr(hexdec('$1'))", $name);


 
je fais :

Code :
  1. echo utf8_decode(json_decode($page)->{'name'});


 
Et ça roule !


---------------
« It's time to kick ass and chew bubble gum. And I'm all outta gum. » --Duke Nukem

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  convertir \u00eb en ë (résolu, problème d'encodage/décodage)

 

Sujets relatifs
Convertir XLS en SQLConvertir du code qui utilise wsdlDriver pour Savon ou Handsoap (SOAP)
Probleme pour convertir une chaine en variable doubleConvertir un tableau Java en JavaScript
Convertir une url relative en url absolueConvertir SHARP en VB
Convertir VB en HTML ?!Convertir inline CSS en règles ? Converts inline style into CSS rules
Convertir des formules Excel dans un langage algorithmique 
Plus de sujets relatifs à : convertir \u00eb en ë (résolu, problème d'encodage/décodage)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR