Page 1 sur 1

PHP/MySQL stocker le caractère €

Posté : 30 mai 2006, 16:02
par kat
Bonjour,

Mon site PHP permet de saisir du texte libre dont le symbole euro. Malheureusement, celui-ci ets stockée dans la base sous la forme €

Comment faire pour quil soit stocké correctement? J'ai modifié la nature de la colonne où est stocké le texte pour la mettre en utf8 au lieu de latin1. Mais le problème persiste.
J'ai également ajouté avant d'exécuter la requête, la commande php :
$mysqli->query("SET NAMES 'utf8';");

Mais quand je fais un echo $mysqli->character_set_name() immédiatement après, celui-ci m'affiche toujours latin1_swedish_ci


Merci pour votre aide

Posté : 30 mai 2006, 16:31
par Erazer
Bonjour,

si tu utilises l'entité html ( € ) ?

Posté : 30 mai 2006, 16:51
par kat
ok, j'avais oublié que le message est en html...
Je voulais donc dire que le symbole € est stockée dans mysql sous la forme de son code soit &#8364
C'est ça qui ne va pas!

Posté : 30 mai 2006, 17:07
par albat
$chaine = str_replace("& #8364;", "& euro;", $chaine);

Posté : 30 mai 2006, 17:11
par kat
Merci, mais ce n'est pas ça. Je trace ma requete et je vois bien que la requête exécutée est de la forme :
insert into table(champ) values ('€')

Mais quand je regarde en base la valeur de champ, j'ai '&#8364' et non '€'

Posté : 30 mai 2006, 21:30
par ouckileou
Merci, mais ce n'est pas ça. Je trace ma requete et je vois bien que la requête exécutée est de la forme :
insert into table(champ) values ('€')
Et tu la traces comment ta requête ? :roll: