Page 1 sur 1

Json et encodage

Posté : 18 déc. 2007, 15:30
par praline
Bonjour,

Je tente d'utiliser la fonction json_encode(), mais j'ai des problème avec les caractères accentués:
<?php

	$var = "coucou héhé !!";
	echo json_encode();

?>
Mon code source du script est encodé en UTF-8, mon navigateur recoit bien des informations au format UTF-8,mais voici l'affichage:

Code : Tout sélectionner

"coucou h\u00e9h\u00e9 !!"
Ou est le problème ? Je ne met pas en cause la chaine de carractère puisque le code suivant marche très bien:
<?php

	$var = "coucou héhé !!";
	echo $var;

?>
Une idée ?

Posté : 18 déc. 2007, 15:36
par momox
http://fr.php.net/manual/fr/function.json-encode.php
C'est pourtant marqué en toutes lettres :roll:
Cette fonction ne fonctionne qu'avec des données encodées UTF-8.
Fais un joli utf8_encode sur ta variable avant de la passer a json_encode ;)

Posté : 18 déc. 2007, 15:57
par Berzemus

Code : Tout sélectionner

"coucou h\u00e9h\u00e9 !!"
Qu'est-ce qui ne va pas ? c'est tout à fait normal ce résultat. Ta variable est encodée en unicode, (je crois) suite à son encodage en json.

Json_encode est utilisé pour transférer tes données à javascript. C'est pas fait pour être lu par des humains.. (JS le comprendra très très bien).

Moi, de problème, ben j'en vois pas..