Page 1 sur 1

Problème d'accents

Posté : 08 oct. 2006, 10:49
par gwendal
Bonjour,

J'ai un formulaire avec un header text/html; charset=iso-8859-1

j'envoi mon formulaire en ajax à un fichier php qui est aussi en
header('text/html; charset=iso-8859-1') ;

A ce moment si j'affiche la variable que je veux enregistrer dans ma base de données il n'y a pas de problème j'affiche bine les accents sans problème

Mais si j'enregistre dans la base de données alors je me retrouve avec des caractère du type ééééé à la place de ééééé alors que ma base de données est bien en fr-iso-8859-1

savez vous pourquoi ?

mon enregistrement :

<?php
header('text/html; charset=iso-8859-1') ;

$categorie=$_POST['retourreponse'];


include("connexion.php");

// Lecture si la reference existe bien ?

echo $categorie;

$query="INSERT INTO categorie VALUES('','$categorie',1)";
$result=MYSQL_QUERY($query);


MYSQL_CLOSE();
?>

Posté : 08 oct. 2006, 10:57
par naholyr
Il me semble que les envois de données POST par Ajax se passent toujours en UTF-8. Donc si tu veux utiliser de l'iso il faut faire un utf8decode() sur tes données d'entrée dans le script destinataire.

Par contre je dis ça d'expérience, je n'ai pas de confirmation théorique (je ne sais pas par exemple si ça dépend du navigateur).

Posté : 08 oct. 2006, 11:29
par gwendal
Merci ça fonctionne avec IE et Firefox

Il y avait deux erreurs :

le header n'est pas
header('text/html; charset=iso-8859-1') ;
mais
header('Content-Type: text/html; charset=iso-8859-1') ;

et je n'utilisais pas le
utf8_decode()