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

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

Marsh Posté le 30-09-2010 à 18:01:25    

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
Reply

Marsh Posté le 30-09-2010 à 18:01:25   

Reply

Marsh Posté le 01-10-2010 à 00:14:39    

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

Reply

Marsh Posté le 01-10-2010 à 00:21:21    

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
Reply

Marsh Posté le 01-10-2010 à 01:21:25    

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
Reply

Marsh Posté le 01-10-2010 à 02:10:06    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed