rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Php/ajax encodage partiel

Brachior, le vendredi 30 mai 2008 à 15:09:43
Bonjour a tous,
mon probleme est assez énervant =/
et j'ai beau sillioner les forum ...
je n'ai toujours pas reussi a resoudre mon probleme :(

alors voila,
j'ai fait un miniChat (en ajax) sur mon site.
il fonctionne tres bien mis a part un point ...
  -> l'encodage >.>

je m'explique :
	pour contrer les eventuelles injections SQL j'utilise les fonctions suivantes:
		- mysql_real_escape_string()
		- htmlspecialchars()
	puis pour encoder les accents j'utilise :
		- htmlentities()
	
	a la sortie j'utilise :
		- html_entity_decode() avec comme argument 'ENT_NOQUOTES'
	
	les accents passent bien, et les \ qui protegent les quotes sont enlevés
	mais reste un probleme,
	certains caractères speciaux ne passent tout de meme pas =/
	( exemple : € , ™ , ... )
	
	je sais que le xml généré par ajax est en utf-8
	mais normalement le 'htmlentities' rectifie ce probleme
	( sauf pour € car le 'decode' passe en iso-8859-1
		alors que l'€ est dans l'iso-8859-15 )
	mais meme ™ ne passe pas car il lui donne un code ascii invalide >.>
	
	j'ai d'ailleurs aussi remarqué que si j'enlève le 'htmlentities'
	alors le ™ s'affiche mais plu les accents =S

si quelqu'un a une idée pour resoudre mon probleme ...
je lui en serais tres reconaissant ^^

PS : voici les bouts de mon code ^^
  en entrée :
	$message=
	mysql_real_escape_string(htmlspecialchars(htmlentities($_POST['message'])));
  en sortie :
	$message=
	strtolower(html_entity_decode($donnees['ChatMsg'],ENT_NOQUOTES));
  sachant que ma db est en latin1_general_ci
Configuration: Windows XP
Firefox 2.0.0.14
Répondre à Brachior  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 16:36:04
up !

personne ? =S
Répondre à Brachior

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 17:54:49
re up!!
toujours personne ? =/
Répondre à Brachior

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 18:46:31
re re up !! ( j'le remonte toutes les heures sait on jms xD lol ^^ )
j'ai vraiment besoin d'un p'tit coupe d'pouces s'iou plait =S
a vot' bon coeur m'sieu dame ... c'est pour l'artiste !! Oo
Répondre à Brachior

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 19:04:36
j'donne un exemple concret ( pour ceux qui tomberont par hasard ici Oo )
voila les resultats ^^

message a afficher :
' " / \ & é è à @ ™ (tm) € (euro)

mysql_real_escape_string(htmlspecialchars(htmlentities($_POST['message'])))
' " / \ & é è à @ & #8482; (tm) ¤ (euro)

( j'ai mis un espace entre le & et #8482; car ccm.net le traduit en ™ lol ^^ )

mysql_real_escape_string(htmlspecialchars($_POST['message']))
' " / \ & ? ? ? @ ™ (tm) ? (euro)
Répondre à Brachior

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 20:00:49
c'est l'h de l'up Oo lol

bn dc tjs personne ? :snif: :'(
Répondre à Brachior

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le vendredi 30 mai 2008 à 22:27:00
Oh Oh Oh ...

on est jms mieux servie que part soit meme ^^

j'post tt d'meme ma reponse pr ceux que ca interesse :)

suffit de forcer la meta en mettant :

header('Content-Type: text/html; charset=ISO-8859-15');


avant chaque affichage ;)

voila ^^ merci a moi
de rien de rien ..
si si j'insiste :)

bn ok j'arrete lol ^^ bye all ^^
Répondre à Brachior

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
PhP, le dimanche 1 juin 2008 à 22:48:47
Bsr

Hum j'ai eu le même problème : j'ai essayé ta solution mais rien à faire avec ISO-8859-15 ca ne fonctionne pas
Avec ISO-8859-1 ça fonctionne sous FF mais pas sous IE

Finalement j'ai supprimé le header de ma page appellée et dans la requête AJAX je passe directement
this.xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");

Et pour le moment ça fonctionne sur IE et FF ouf !


PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
Répondre à PhP

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Brachior, le dimanche 1 juin 2008 à 23:51:33
meme le '€' ? ^^
normalement il n'est pas ds iso-8859-1 mais ds le iso-8859-15 ^^
Répondre à Brachior

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
PhP, le lundi 2 juin 2008 à 00:37:32
Ben vi même le € ! par contre c'est vrai j'ai bidouillé un peu pour le ... &
PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
Répondre à PhP

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
poumon, le samedi 21 juin 2008 à 20:00:17
Salut

Moi je mets ce header :

<?php
header('Content-Type: text/html; charset=ISO-8859-1');
?>


au début de toutes mes pages .php qui seront appelées avec Ajax.
Répondre à poumon

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 phima, le jeudi 2 octobre 2008 à 11:14:10
utilise encodeURIComponent dans ton encodate de tes posts à la place de escape et tout sera résolu (et tu pourras envoyer de zolis posts en utf-8
Répondre à phima
Pour vos problemes d'accent AJAX en Requete (Résolu)Mare des requetes AJAX qui ne marche pas avec les accent???? Dans la page qui fait appelle à la fonction ajax encoder les variable avec utf8_encode() Sur la page appelé en AJAX, avec votre editeur preferer faite enregistrer sous, regarder dans les... www.commentcamarche.net/forum/affich-7655426-pour-vos-problemes-d-accent-ajax-en-requete
[Flash JS]Son en Flash piloté par JavaScript (Résolu)Bonjour bonjour, Je suis développeur de formation, et je suis actuellement en train de concevoir un jeu en ligne en PHP - AJAX. La page sur laquelle se déroulera le jeu n'est chargée qu'une seule fois, et les informations sont mises à jour à... www.commentcamarche.net/forum/affich-7916511-flash-js-son-en-flash-pilote-par-javascript
[PHP/AJAX] Souci avec les fonctions... (Résolu)Bonjour, J'aimerai avoir une petite aide de votre part pour mon problème suivant: je voudrais pouvoir tout simplement changer le contenu d'une div sans recharger la page, donc grâce à l'ajax et php, en cliquant sur des liens... par... www.commentcamarche.net/forum/affich-3693395-php-ajax-souci-avec-les-fonctions
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
[PHP] Notice: Undefined index:Si vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line... www.commentcamarche.net/faq/sujet-1391-php-notice-undefined-index
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
[php/ajax] réponse en temps réel (Résolu)Bonjour, J'aimerais créer un chat en ajax et php et aussi un système pour que des messages privés ( ors du chat ) soient afficher en temps réel. Je ne sait pas par où commencer ma documentation. Une bonne âme pourrait-elle m'aiguiller ? Ha... www.commentcamarche.net/forum/affich-8363655-php-ajax-reponse-en-temps-reel
Php/Ajax (Résolu)Bonsoir; Est-ce qu’il existe un kit comme AjaxControlToolkit pour php qui contient des exemples comme calendrier...accordeon...un dropdown menu... je vous remercie www.commentcamarche.net/forum/affich-4922503-php-ajax
[PHP/MySQL] Encodage Caractères (Résolu)Bonjour, c'est encore moi :) J'ai enfin réussi (ou presque) à écrire un petit script pour poster des News. Le problème : J'ai tout rédigé les pages PHP en UTF-8 et lorsque je stocke les données dans MySQL, il ne semble pas bien... www.commentcamarche.net/forum/affich-2235775-php-mysql-encodage-caracteres
Télécharger PHP EditPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des... www.commentcamarche.net/telecharger/telecharger-62-php-edit
Télécharger Riva FLV encoderRiva FLV encoder permet de transcoder vos fichiers vidéo au format advanced Flash Video (FLV). Riva FLV encoder supporte l'encodage des formats suivants : AVI, MPEG, Quicktime, WMV : AVI Cinepak Codec by Radius, Cinepak by Supermac Intel... www.commentcamarche.net/telecharger/telecharger-34055237-riva-flv-encoder
Minnetonka CD-DTS EncoderMinnetonka CD-DTS Encoder,,Minnetonka SurCode CD-DTS Encoder; licensed DTS encoder, accepts any 6 .wav or .AIFF files, the standard for Surround Sound on CD www.commentcamarche.net/guide-achat/minnetonka-cd-dts-encoder-461774517-fiche-technique
PHP - Parser du XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de définir votre propre... www.commentcamarche.net/php/phpxml.php3
AJAX - Introduction AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web sans recharger la page.... www.commentcamarche.net/ajax/ajax-intro.php3
PHP - Introduction PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La syntaxe du langage provient... www.commentcamarche.net/php/phpintro.php3
Toutes les réponses pour « php/ajax encodage partiel »