problème avec accent

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème avec accent

Re: problème avec accent

par Skw33d » 03 août 2011, 00:22

Ben pour ma part pour les fois où j'ai travaillé avec le Json, et je travaille d'ailleurs actuellement avec, j'ai toujours eu les accents convertis de cette manière. Mais je n'avais pas remarqué que tes données étaient deux fois convertis dans le résultat Json !
Donc ton problème est bien :
A vue de nez, je dirais que c'est parce que tu ré-encodes en utf8 (utf8_encode), des données qui sont déjà en utf8 quand tu les récupères de ta base de données (SET NAMES 'utf8') ...
Mais en tout cas moi j'ai jamais vu de caractère accentué dans une chaine Json, d'ailleurs tente un json_decode sur un é tu obtiendras un résultat null.

Re: problème avec accent

par ptitbonome » 02 août 2011, 22:32

Oui c'est normal, tu effectues un json_encode de ton tableau à la fin de ton script. Il remplace donc tous les accents / caractères spéciaux par leur équivalent hexadécimal.

Mais au juste quel est ton problème ? Pourquoi as tu besoin de les encodés en Json ? Est ce dans le but de faire interagir Javascript et PHP pour une application Ajax ou encore pour une API proposé par ton application ?
slt

oui en effet c'est pour une application. J'ai préféré le Json plutot que le xml
Il me semble avoir déjà eu des accents bien retranscris même en Json.

Re: problème avec accent

par Skw33d » 02 août 2011, 21:25

Oui c'est normal, tu effectues un json_encode de ton tableau à la fin de ton script. Il remplace donc tous les accents / caractères spéciaux par leur équivalent hexadécimal.

Mais au juste quel est ton problème ? Pourquoi as tu besoin de les encodés en Json ? Est ce dans le but de faire interagir Javascript et PHP pour une application Ajax ou encore pour une API proposé par ton application ?

Re: problème avec accent

par Ryle » 02 août 2011, 21:24

A vue de nez, je dirais que c'est parce que tu ré-encodes en utf8 (utf8_encode), des données qui sont déjà en utf8 quand tu les récupères de ta base de données (SET NAMES 'utf8') ...

problème avec accent

par ptitbonome » 02 août 2011, 20:39

slt

j'ai un soucis avec mon script php.Lorsque je l'exécute j'ai à la place des accents d'autres caractères.

je suis sous mac et j'utilise Coda pour écrire mes scripts et ma base de données est gérée par phpmyAdmin.
<?php
mysql_connect ("localhost","root","");
mysql_select_db ("ichat");
mysql_query("SET NAMES 'utf8'") ;
 
 
if(isset($_POST['expediteur'])) 	$expediteur=$_POST['expediteur'];

 else	$expediteur='david';

 
if(isset($_POST['destinataire'])) 	$destinataire=$_POST['destinataire'];

 else	$destinataire='vaness';

$sql="SELECT id,expediteur,destinataire,message,status from chat WHERE destinataire='$expediteur' and expediteur='$destinataire' OR expediteur='$expediteur' AND destinataire='$destinataire'order by id " ;
$req = mysql_query ($sql) or die (mysql_error());
$myArray = array();
while(false !=($data = mysql_fetch_array($req)))
{ 
$myArray[] = array(
		 'id' => utf8_encode($data['id']) ,
		 'expediteur'=>utf8_encode($data['expediteur']) ,
		 'destinataire'=>utf8_encode($data['destinataire']),
		 'message'=> utf8_encode($data['message']),
		 'status'=> utf8_encode($data['status']));
  		}

echo json_encode ($myArray);
?>

et en réponse j'obtiens ca:
{"id":"95","expediteur":"david","destinataire":"vaness","message":"ouai ca va?","status":"0"},{"id":"99","expediteur":"david","destinataire":"vaness","message":"koi de neuf?","status":"0"},{"id":"100","expediteur":"vaness","destinataire":"david","message":"ben ca va . bientot les vacances donc je patiente. et toi?","status":"0"},{"id":"101","expediteur":"vaness","destinataire":"david","message":"Les lecteurs du Sun ont \u00c3\u00a9t\u00c3\u00a9 pr\u00c3\u00a9venus lundi soir, par courrier \u00c3\u00a9lectronique, que leurs ordinateurs pourraient avoir \u00c3\u00a9t\u00c3\u00a9 pirat\u00c3\u00a9s. \"Comme vous le savez dans doute, le 19 juillet, le site internet du Sun a \u00c3\u00a9t\u00c3\u00a9 vis\u00c3\u00a9 par une attaque criminelle organis\u00c3\u00a9e\", \u00c3\u00a9crit dans ce courriel Chris Duncan, charg\u00c3\u00a9 du service clients \u00c3\u00a0 News International.","status":"0"}
lorsque je regarde dans ma table message qui contient ces messages je n'ai aucun problème d'accents!

Si quelqu'un pouvait m'éclairer...

merci