Кодировка кириллицы mysql php
После обновления текстовых полей БД в Mysql кириллица отображается в виде экранированных кодов
\К\р\а\с\н\а\я \р\е\к\а
При этом, если выводить ее в html из базы отображается она нормально "Красная река".
При этом, если выполнять запрос из того же php как текст (заменить все переменные на их значения), то в Mysql попадает нормальная кириллица и мы там видим "Красная река".
При этом, если из того же php выводить данные базы, то снова выходит нормальная "Красная река".
Сравнение поля в Mysql настроено на utf8_general_ci В начале php задаю "SET NAMES utf8" Кодировка файла php UTF-8
В заголовке страницы вывода, которую формирует php стоит
\<meta charset='utf-8'>.
Хочется, собственно, чтобы в поле Mysql отображались русские буквы после выполнения запроса апдейта из php.
Ответы (1 шт):
В вопросе разобрался. Эффект связан с тем, что в переменной у меня все это время был не текст, а html коды символов. Поэтому я и не мог понять, почему у меня везде нормальный текст кроме базы, потому что везде html код автоматически браузером заменялся на нормальные символы.
Для того, чтобы и в БД их копировать, нужно просто применить функцию html_entity_decode без вторых параметров.