У меня есть таблица latin1, которая долгое время была заполнена разными закодированными данными, поэтому она содержит много неработающих символов. Я пытался это исправить и Как для обнаружения символов UTF-8 в столбце с кодировкой Latin1 - MySQL будет очень полезен, особенно следующий код
SELECT CONVERT(CONVERT(name USING BINARY) USING latin1) AS latin1, CONVERT(CONVERT(name USING BINARY) USING utf8) AS utf8 FROM users WHERE CONVERT(name USING BINARY) RLIKE CONCAT('[', UNHEX('80'), '-', UNHEX('FF'), ']')
но это не решает всех проблем. Символ ä, отображаемый как «Ã¤», преобразуется обратно в ä с помощью этой команды, но у меня также есть некоторые символы ä, отображаемые как «Â„», поэтому, похоже, использовался другой формат кодирования, но я понятия не имею, какой из них было так, что я мог вернуть его. Я пробовал использовать доступные кодировки на сервере mysql, но без должного результата. Кто-нибудь сталкивался с этой проблемой раньше и может указать мне правильный набор символов?
HEX()
(и сравнить с тем, что ожидается для данных). - person eggyal   schedule 31.10.2012