У одного из моих клиентов есть веб-сайт, который был полностью испорчен хостинговой компанией, которая вынудила набор символов в полной базе данных.Раньше у нас были проблемы с наборами символов, но теперь это просто драма!
До сих пор я добавил charset = utf-8 к типу содержимого страницы и установил charset для подключения mysql кutf8.И теперь пришло время заменить всех персонажей.Пока что я нашел:
ö = ö
ë = ë
é = é
Данные в базе данных обновляются примерно так:
UPDATE table SET `fieldname` = REPLACE(`fieldname`, 'ö', 'ö');
Теперь мне просто нужно найти полный список всех символовкоторые запутались.Я попытался выполнить запрос MySQL для поиска field LIKE '%Ã%'
, но он возвращает мне все записи в базе данных.
Google также просто отображает пару символов (в основном 3 выше) в некоторых темах других людей, у которых возникли проблемыОднако, похоже, нигде нет полного списка этих символов (или, по крайней мере, наиболее распространенных), который я могу использовать, чтобы найти и заменить все данные для моего клиента.
Если кто-то, возможно, знает такое местоположение или можетЗавершив свой список, я, в свою очередь, создам страницу, содержащую эти символы, чтобы помогать другим (если только нет списка, о котором я не знаю, конечно).
// EDIT
:
это было бы для наиболее распространенных европейских символов, таких как é è ë, á à ä, ö ó ò, ï, ü и, возможно, рингель-S (немецкий двойной S).Не так много для таких знаков как, например, ñ или ã, но если они где-то есть в списке, это было бы очень полезно.
// EDIT 2
:
Я обновил базу данных MySQLи таблицы, использующие 2 запроса ALTER из первой части этой статьи: http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
.Я НЕ использовал функции mb_ до сих пор и не выполнял конфигурацию MB, как кажется.
В файлах все заголовки установлены в utf-8 (мне все еще нужно проверить заголовки длянекоторые сценарии ajax, хотя, не уверен, что это необходимо, но это не принесет вреда).И все файлы сохраняются как UTF8 без спецификации.Также PHPFreakMailer обновляется, устанавливая кодировку в utf-8.
Bad enough
, у меня все еще есть эти странные символы.Я не думал, что они уйдут сами, но, по крайней мере, стоило на это надеяться :-) Так какой последний шаг я должен сделать?Продолжить использовать запрос REPLACE и вручную изменить все странные символы?
Заранее спасибо!