Page 1 sur 1

Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 02:32
par foetus69
Bonjour, bonsoir,

Je cherche le moyen de stocker le symbole € dans la base car pour le moment quand je tape 30€ dans mon champ ca m'enregistre 30? alors que toute la chaîne est bien en utf8, de la page au champ en passant par la table et la connexion.

Merci à vous.

#Morphée

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 06:23
par Boro64
Bonjour,
As tu essayé:
1) de le stocker en html = €
2) si u fais
echo mb_internal_encoding();
ça t'affiche quoi?
A pluche

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 10:01
par sirakawa
Question conne(xe) :
Quel est l'intérêt d'aller mettre ce signe dans la BD?

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 11:38
par foetus69
Coucou,

J'ai pas encore essayé d'enregistrer l'entité html et le stockage de ce sigle est nécessaire dans les champs libres à la saisie.

C'est curieux car tout est en utf-8 mais ta fonction me renvoie ISO-8859-1. Ca peut venir de quoi ?

J'ai pourtant mis en entête un header header('Content-Type: text/html; charset=utf-8'); tout en haut de ma page.

Féfé

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 11:57
par moogli
salut,


sans code on ne peux pas t'aider, masi oui tu as un problème de charset.

c'est peux être sur la connexion entre php et le sgbd.
par exemple mysql gère la collation au niveau de la base, des tables et des colonnes. Est tu certain que tous soit en utf-8 ?

Pour te répondre sur l'utilité de la question de sirakawa, c'est simplement que si tu n'a pas prévu du gérer plusieurs monnaie cette info n'a rien à faire dans cette colonnes.
et même si tu as prévu de gérer les monnaies elle n'a rien a y faire une fk vers une table "monnaie" serait plus intéressante.

le tout sans parler du fait que ce champs devrait être un décimal et non un varchar (ce qui règle la chose).
Pourquoi un décimal ? simplement pour te permettre de faire des calculs en bases et non de t'emmerde à devoir virer les possible caractères exotique avant de faire un quelconque calcul.
exemple : tu as choisis d'acheter 10 produits à 30€ comment tu fait le calcul ?
php ou ton sgbd va te raler dessus rapidemetn quand tu va faire 10 * 30€ :mrgreen:


@+

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 12:08
par foetus69
Re...

Bon, pour être sure j'ai fait ceci, je peux pas plus simple ^^

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <?php echo mb_internal_encoding(); ?> </body> </html>
Ca me renvoie ISO-8859-1, bizarre non ?

Je ne stocke pas pour calculer d'où mon insistance.

Féfé

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 oct. 2013, 12:31
par moogli
as tu regardé ce que fait la fonction mb_internal_encoding ?
Si encoding est fourni, Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Dans ce cas, l'encodage des caractères pour les regex multi-octets n'est pas changé. Si encoding est omis, mb_internal_encoding() retourne le nom de l'encodage courant
d'où ce qui s'affiche sur ta page.

l'encodage interne (de php la) ne se règle pas avec un charset html.

tous ce que cela peux vouloir c'est que si tu utiliser une expression régulières sur ton champ de formulaire contenant le € la chaîne résultat sera de l'iso-8859-1 et traitée comme telle.


@+

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 juil. 2014, 15:17
par Invité
entre &euro; dans ta bdd au lieu de €

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 29 juil. 2014, 15:52
par Ryle
entre &euro; dans ta bdd au lieu de €
Ce n'est pas la bonne solution. Outre le fait que &euro; prenne plus de place que € (ok, au prix du terra on s'en fout), cette chaîne est destinée à un affichage en html. Il faudra donc systématiquement la retraiter si la valeur doit être utilisée dans un pdf, un export de données, ...

Il y a un problème d'encodage quelque part, c'est lui qu'il faut trouver et résoudre :)

Re: Stocker le sigle symbole euro € dans ma table sql

Posté : 31 juil. 2014, 01:09
par sehui303
cest le probleme de code .
table sql et le web nest pas le meme code