Intereting Posts
Как я могу получить ошибку при запуске нескольких запросов с помощью PDO? При синхронизации в eclipse pdt – получение пустого серого окна при сравнении версий php-файла php imagemagick создает TIFF с черепичной пирамидой Как работает веб-искатель? Кажется, что значения POST теряются при использовании .htaccess RewriteRule. Значения GET в порядке. Как исправить? curl: Ran на разных серверах возвратил различные IP-адреса Соединение отклонено при запуске stream_socket_server & client через apache Аутентификация Laravel Rest при отправке через HttpClient Android Как определить частичную вертикальную / горизонтальную линию в изображении? Как настроить динамическую функцию с заданием cron? Изменение размера iframe в соответствии с высотой содержимого в нем. Как сохранить и извлечь данные сеанса в codeigniter Разделить текст на проблемы слов PHP, сложная проблема Подключите несколько таблиц, используя LEFT OUTER JOIN Cakephp выдает ошибку, если массив не разделен

Преобразование latin1_swedish_ci в utf8 с PHP

У меня есть база данных, заполненная такими значениями, как « ♥•â—♥ Dhaka ♥•â—♥ (которая должна быть ♥•●♥ Dhaka ♥•●♥ ), поскольку я не указывал сортировка при создании базы данных.
Теперь я хочу исправить это. Я не могу получить данные снова с того места, откуда я его получил. Поэтому я подумал, возможно ли получить данные в php-скрипте и преобразовать их в правильные символы.
Я изменил сортировку базы данных и полей в utf8_general_ci ..

Сопоставление не совпадает с набором символов. Сортировка используется только для сортировки и сравнения текста (вот почему там есть языковой термин). Фактический набор символов может отличаться.

Наиболее частой неудачей нет в базе данных, а скорее в связи между PHP и MySQL. Кодировка по умолчанию для соединения обычно – ISO-8859-1. Вам нужно изменить это, первое, что вы делаете после подключения, используя SQL-запрос SET NAMES 'utf-8'; или функцию mysql_set_charset .

Также проверьте набор символов ваших таблиц. Это может быть и неправильным, если вы не указали UTF-8 для начала (опять же: это не то же самое, что сортировка). Но обязательно сделайте резервную копию, прежде чем ничего менять. MySQL попытается преобразовать кодировку из предыдущей, поэтому вам может потребоваться перезагрузить данные из резервной копии, если вы действительно сохранили данные UTF-8 в таблицах ISO-8859-1.

Я бы посмотрел mb_detect_encoding () и mb_convert_encoding () и посмотрел, могут ли они помочь вам.