L'avevo capito. Ho usato il builtin di mysql hex
funzione per scaricare una voce che sapevo non era valida.
select hex(column) from table where id=666;
Quindi ho scelto le parole (quei numeri racchiusi tra "20") e ho scoperto che il mio set offensivo di byte era in realtà x'C3A2E282AC2671756F743B'
. Come corrisponde al modo in cui l'ho visto codificato in PHP e dal mio sistema (come e2 80
) Non lo so ea questo punto non mi interessa molto.
Per verificare, prima di distruggere i dati, ricollegalo a mysql:
select x'C3A2E282AC2671756F743B';
+---------------------------+
| x'C3A2E282AC2671756F743B' |
+---------------------------+
| â€" |
+---------------------------+
1 row in set (0.00 sec)
Quindi, utilizzando la query di sostituzione come sopra, sono stato in grado di eliminare tutti i dati non validi in una volta.
Per la cronaca era:
update TABLE set COLUMN = replace(COLUMN, x'C3A2E282AC2671756F743B','--');
Spero davvero che questo sia utile per qualcuno. Anche se gli snafu di codifica sembrano essere piuttosto comuni in MySQL, ho cercato ovunque e non sono riuscito a trovare una spiegazione per questo processo in definitiva piuttosto semplice.