Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP/PDO/MySQL :l'insertion dans MEDIUMBLOB stocke les mauvaises données

Je ne pense pas que cela doive être un bug. Je peux imaginer que chaque fois que le client parle avec le serveur et dit que la commande suivante est en UTF-8 et que le serveur en a besoin en Latin-1, la requête peut être réencodée avant l'analyse et l'exécution. Il s'agit donc d'un problème d'encodage pour le transport des données. Comme toute l'analyse préalable de la requête sera influencée par ce réencodage, les données binaires de la colonne BLOB seront également modifiées.

Du manuel Mysql :

Ou sur le chemin du retour :les données Latin1 du magasin seront converties en UTF-8 car le client a dit au serveur qu'il préférait UTF-8 pour le transport.

L'identifiant de PDO lui-même que vous nommez semble être quelque chose de complètement différent :

Je ne suis pas un expert MySQL mais je l'expliquerais de cette façon. Le client et le serveur doivent négocier les jeux de caractères qu'ils utilisent et je suppose qu'ils le font pour une raison.