Je l'ai compris. J'ai utilisé le hex
intégré de mysql fonction pour vider une entrée que je savais être mauvaise.
select hex(column) from table where id=666;
Puis j'ai choisi les mots (ces nombres pris en sandwich entre "20") et j'ai découvert que mon ensemble d'octets incriminés était en fait x'C3A2E282AC2671756F743B'
. Comment cela correspond à la façon dont je l'ai vu encodé en PHP et par mon système (comme e2 80
) Je ne sais pas et à ce stade, je m'en fous.
Pour vérifier, avant de détruire les données, vous reconnectez cela à mysql :
select x'C3A2E282AC2671756F743B';
+---------------------------+
| x'C3A2E282AC2671756F743B' |
+---------------------------+
| â€" |
+---------------------------+
1 row in set (0.00 sec)
Ainsi, en utilisant la requête de remplacement comme ci-dessus, j'ai pu me débarrasser de toutes les mauvaises données à la fois.
Pour info c'était :
update TABLE set COLUMN = replace(COLUMN, x'C3A2E282AC2671756F743B','--');
J'espère vraiment que cela est utile pour quelqu'un. Bien que l'encodage de snafus semble être assez courant dans mysql, j'ai cherché partout et je n'ai pas trouvé d'explication à ce processus finalement assez simple.