Bonjour,

Je ne trouve pas grand chose là-dessus dans la doc MySQL...

J'aimerais savoir s'il est possible de transcoder une chaîne de caractère avant qu'elle n'atterrisse dans sa colonne ?

en utilisant quelque chose comme ça (j'ai pas mis les "delimiter" volontairement)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
CREATE TRIGGER myTrig BEFORE INSERT ON myTab
FOR EACH ROW
BEGIN
  SET NEW.myCol = CONVERT(_utf8 NEW.myCol using latin1) ;
END;
Voilà.

En fait, j'ai même un doute sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
CONVERT(_utf8 NEW.myCol using latin1)
que je n'ai d'ailleurs jamais réussi à faire fonctionner sauf s'il voit une belle chaîne en dur genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
CONVERT(_utf8'maChaîne' using latin1)
merci pour ceux qui sauront me répondre ou essaieront.

ps: je vous en sur-please ne me dîtes pas que je devrais faire comme ci ou comme ça ou ... mais pourquoi tu fais ça ? ou autre.
Tout ce que vous avez besoin de savoir c'est que la connexion "parle" à la base en utf8, que la chaîne envoyée est encodée en utf8 MAIS que la colonne dans laquelle elle va atterrir se trouve être en latin1.