[1/2HS] Mysql et le symbole Euro =?utf-8?q?=E2=82=AC?=
Le
ajh-valmer

Bonjour,
Depuis peu, lorsque j'INSERT ou UPDATE une table MySQL,
via scripts PHP et SQL, je mets le montant : "30€"
et apparait dans le champ via phpmyadmin : "30¤".
Pareil si j'écris "30€".
Pourtant, si j'interroge la table (SELECT),
apparait bien dans le navigateur "30€".
L'interclassement est UTF8_general_ci.
Si je mets : latin1_general_ci, pareil.
Ce problème fait suite à un upgrade de mysql.
Merci,
A. Valmer
Depuis peu, lorsque j'INSERT ou UPDATE une table MySQL,
via scripts PHP et SQL, je mets le montant : "30€"
et apparait dans le champ via phpmyadmin : "30¤".
Pareil si j'écris "30€".
Pourtant, si j'interroge la table (SELECT),
apparait bien dans le navigateur "30€".
L'interclassement est UTF8_general_ci.
Si je mets : latin1_general_ci, pareil.
Ce problème fait suite à un upgrade de mysql.
Merci,
A. Valmer
Si je mets UTF-8, j'ai "2020 : 20?"
Sinon, ma page est en iso-8859-15.
Page Web de mon site, code PHP :
echo mb_internal_encoding();
UTF-8
Merci pour tous ces commentaires + liens.
Avant "€" m'affichait bien €
Pourquoi plus maintenant ?
J'ai bien essayé :
Si UTF-8 = "?"
Si ISO 8859-1(5)= "¤".
Et pourquoi si champ phpmyadmin = 30¤ (et pas €)
mon site affiche correctement 30 € ?
Et mysql en mode console, champ = 30 €
Lorsque je fais un update ou insert sql,
cotisation='30 €' qui devient sous phpmyadmin : 30¤
Serait-ce phpmyadmin ?
Bonne soirée,
https://www.developpez.net/forums/d606691/php/php-base-donnees/encodage-car acteres-sigle/
Tu as omis de vérifier la structure de ta base de données, tu peux faire
un export de la structure ?
De la table concernée au moins ?
Vérifie l'encodage de la table et de la colonne, ça donne quoi ?
Le dimanche 09 février 2020, Erwann Le Bras a écrit...
Tu peux la mettre dans une colonne à part, ou via un id dans une table
séparée. C'est quand même préférable de savoir dans quelle unité fut
enregistré ledit montant.
--
jm
Tout-a-fait.
Il y a même deux écoles : soit tout est renseigné dans la même monnaie
dans la base et converti à l'utilisation, soit la devise est précisée
avec le montant. Dans ce cas on préfère utiliser le code ISO 4217 de la
monnaie (EUR pour Euro, USD pour Dollar US) plutôt qu'un code de
caractère (€, $) qui va varier selon l'encodage retenu.
Codes ISO 4217 : https://fr.wikipedia.org/wiki/ISO_4217,
https://www.iso.org/fr/iso-4217-currency-codes.html
cordialement
Je pense sérieusement pour un problème d'encodage.
Mais je pense qu'à la base il ya un problème de définition du shéma de
la base :
d'après ce que j'ai compris, il y a une table avec un montant au format
"varchar" et le même montant au format "int"
il n'est pas bon d'avoir deux fois la même info stockée en base, l'info
pouvant se désynchroniser entre les deux champs.
Le mercredi 26 février 2020, ajh-valmer a écrit...
Il me semble que le fil portait au départ sur l'affichage sous Phpmyadmin.
Non ?
As tu essayé de voir le code source de la page de phpmyadmin pour voir ce
u'il y a dedans ? D'afficher le symbole euro € dans ta page phpmyadmin ?
Voire d'autres symboles html ?
--
jm
Oui.
Le code source de la page phpmyadmin n'affiche pas cette information.
Il s'agit de l'ASCII étendu :
164 ¤ ¤
(un cercle avec 4 barres réparti à l'extérieur du cercle).
Les caractères € deviennent ¤ après un update.
Par contre, si la page Web (pas phpmyadmin) affiche l'information du champ,
le symbole € apparait très bien.
Si j'update avec € , € , ¤ pareil, phpmyadmin affiche ¤
Pour savoir :
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin
va t-il effacer mes bases de données Mysql ?
Mieux vaut être prudent :-)
Le mercredi 26 février 2020, ajh-valmer a écrit...
Non ? Avec le débugueur html du navigateur ?
Il n'y a pas une option de configuration de phpmyadmin concernant l'encodage
des données et/ou des pages ouèbe ?
--
jm
J'y suis arrivé,
voici ce qu'affiche le code source phpmyadmin du symbole euro dans le champ
concerné : €
(ajout de "amp;" entre "&" et "euro;").
Excuses, je réitère ma question :
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin
va t-il effacer mes bases de données Mysql ?
Mieux vaut être prudent :-)