On Monday 24 February 2020 10:45:32 Erwann Le Bras wrote:
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
C'est un champ qui n'a pas à être manipulé,
de type caractères "varchar", contenant un nombre, suivis d'un espace
et de € (soit p. ex. "20 €").
C'est lors de l'update du champ que les caractères €
se transforment en ce caractère : ¤ et pourquoi ?
Ce n'est pas un champ de type "INT" (integer, entier).
La table comporte un autre champ "montant" qui ne contient
qu'un nombre INT (p. ex. "20"), pour les manipulations (calculs).
Bonne journée.