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

jQuery Discussion :

les accent entre PHP et JQuery et encodage json


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Points : 53
    Points
    53
    Par défaut les accent entre PHP et JQuery et encodage json
    Bonjour,

    j'envoie un contenu textarea en ajax (via jquery) dans un script php. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    		jQuery('#comment').keyup(function(e) {
    			var send = false;
    			var comment = jQuery(this).val();
    			var count = comment.split(' ').length;
     
    			if(((count % 6) == 1) && e.which == 32) {
    				jQuery.ajax({
    								type : 'post',
    								url : 'http://localhost/url.php',
    								data : {content : comment},
    								dataType : 'json',
    								success : function(data) {
    									//console.log(data);
    								}
    							});
    			}
    		});
    Et voila le code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    if(!empty($_POST['content'])) {
    	$content = utf8_decode($_POST['content']);
     
    	if(!$link = @mysqli_connect('localhost', 'root', '', 'code')) {
    		$msg['error'] = 'error connect';
    	} else {
    		if($result = mysqli_query($link, "SELECT * FROM `terms`")) {
    			while($object = mysqli_fetch_object($result)) {
    				if(preg_match('#(' . $object->name . ')#i', $content, $matches)) {
    					$msg[] = array("name" => $matches[1], "slug" => $object->slug);
    				}
    			}
    		}
    	}
     
    	if(!empty($msg)) {
    		echo json_encode($msg);
    	}
     
    }
    pour le retour, dans l'objet généré par JSON toutes les chaine de caractères avec accents, sont remplacées par "null" (la chaine complète). Pour tant, tous les fichiers sont encoder en utf8.

    si dans la boucle du code, je fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $object->name;
    Il affiche bien la chaine de caractères.

    Pouvez-vous m'aider s'il vous plait ?

    Merci d'avance.
    Bien cordialement.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    J'ai eu le même problème aujourd'hui, et je l'ai résolu en utilisant htmlentities.

    Ceci dit, dans mon cas, c'était pour de l'affichage HTML, mais si vous souhaitez traiter les données, il faudra décoder pour utilisation.

    Cordialement,
    TyR.

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/10/2012, 13h51
  2. Problème pour les accent en php
    Par -Fly- dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2010, 10h27
  3. [PHP 5.2] Les accents sous PHP et dans MySql
    Par aspkiddy dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2010, 22h36
  4. [MySQL] Soucis d'accents entre php et mysql
    Par SirDarken dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 17/06/2008, 15h08
  5. Les accents entre le formulaire et mysql
    Par titan2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/03/2008, 04h56

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