Через год назад мы перенесли наши данные в MySQL. Из-за несоответствия кодирования в записи был вставлен ряд странных символов (Ã, ª, € и т. Д.). Мы хотели бы отслеживать все такие символы во всей базе данных.Поиск странных символов в mysql
Я пробовал следующий запрос.
select * from <table_name> where <field_name> regexp '[^a-zA-Z0-9&,$\'"() .-]'
Это дает мне все записи, которые имеют какой-либо символ (ы), кроме аз, AZ, 0-9, &, запятая, доллар, одной котировки, дважды котировальный, скобка, пробел, период , дефис в таблице <field_name>
конкретной таблицы.
Но потребуется много времени, чтобы найти все странные символы, так как у нас есть приблизительно 93 таблицы с приблизительно 20 полями каждый.
Есть ли лучший подход для решения проблемы?
Повторное импортирование с правильной настройкой кодировки не является вариантом, поскольку данные с тех пор сильно изменились.
Вы идентифицировали и исправили несоответствие кодирования? Если это так, лучше всего исправить ошибки один за другим, а не пытаться отслеживать. – cmbuckley
Мы знаем, что было несоответствием кодирования. Но это слишком поздно, чтобы исправить это и снова мигрировать. И выяснение всех символов с помощью запроса, как то, что я упомянул в вопросе, потребует много времени. Разве нет лучшего подхода? – Taran