Jeg regnede det ud. Jeg brugte mysqls indbyggede hex
funktion til at dumpe en post, som jeg vidste var dårlig.
select hex(column) from table where id=666;
Så valgte ordene ud (disse tal placeret mellem "20"er) og opdagede, at mit fornærmende sæt bytes faktisk var x'C3A2E282AC2671756F743B'
. Hvordan dette svarer til den måde, jeg så det kodet i PHP og af mit system (som e2 80
) Jeg ved det ikke, og på nuværende tidspunkt er jeg ligeglad.
For at verificere, før du ødelægger dataene, skal du tilslutte det igen til mysql:
select x'C3A2E282AC2671756F743B';
+---------------------------+
| x'C3A2E282AC2671756F743B' |
+---------------------------+
| â€" |
+---------------------------+
1 row in set (0.00 sec)
Så ved at bruge erstatningsforespørgslen som ovenfor var jeg i stand til at slippe af med alle de dårlige data på én gang.
For ordens skyld var det:
update TABLE set COLUMN = replace(COLUMN, x'C3A2E282AC2671756F743B','--');
Jeg håber virkelig, at dette er nyttigt for nogen. Selvom kodning af snafus ser ud til at være ret almindelig i mysql, søgte jeg overalt og jeg kunne ikke finde en forklaring på denne i sidste ende ret simple proces.