Jag listade ut det. Jag använde mysqls inbyggda hex
funktion för att dumpa en post som jag visste var dålig.
select hex(column) from table where id=666;
Plockade sedan ut orden (dessa siffror placerade mellan "20"s) och upptäckte att min kränkande uppsättning bytes faktiskt var x'C3A2E282AC2671756F743B'
. Hur detta motsvarar hur jag såg det kodat i PHP och av mitt system (som e2 80
) Jag vet inte och vid det här laget bryr jag mig inte riktigt.
För att verifiera, innan du förstör data, kopplar du tillbaka den till mysql:
select x'C3A2E282AC2671756F743B';
+---------------------------+
| x'C3A2E282AC2671756F743B' |
+---------------------------+
| â€" |
+---------------------------+
1 row in set (0.00 sec)
Så genom att använda ersätt-frågan som ovan kunde jag bli av med all dålig data på en gång.
För ordens skull var det:
update TABLE set COLUMN = replace(COLUMN, x'C3A2E282AC2671756F743B','--');
Jag hoppas verkligen att detta är användbart för någon. Även om kodning av snafus verkar vara ganska vanligt i mysql, sökte jag överallt och jag kunde inte hitta en förklaring till denna i slutändan ganska enkla process.