Здравствуйте. Передаю в различных Get-переменных кириллицу, которая является тайтлом страниц. Сам захожу на сайт перехожу по ссылкам - все передается и отображается нормально, но в выдаче яндекса тайтлы отображаются вот так - Купить пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ в городе, а в url - .../zagolovok=�����%20�������%20���������. В кодировках не шарю, поставил везде charset=windows-1251. Как исправить кракозябры?
Изначально надо переводить проект в utf8, использование функций mb_ ( strlen / substr и т.п. ) Из минусов, разве что придется изменить немного код, кодировку файлов, ну и тот факт, что символ = 2 байта. За то глючить ничего не будет. Возможно есть извращенные варианты другие.
аминь файлы.php > в utf-8 без BOM .htaccess > AddDefaultCharset UTF-8 meta теги где объявление кодировки в юникод так же
Сменил кодировку файлов на utf-8 без BOM, в .htaccess добавил AddDefaultCharset UTF-8, в мета тегах тоже указал utf-8. Теперь вся кириллица отображается нормально, но из БД выводится в виде ???????? В базе данных сменил кодировку таблицы и полей на utf8_general_ci Когда вывожу данные из БД, ставлю mysql_query("SET NAMES 'utf-8'") На главной странице PhpMyadmin сопоставление кодировки соединения стоит utf8mb4_general_ci, пытаюсь поменять на utf8_general_ci, так она обратно сбрасывается на utf8mb4_general_ci. Как быть?
Вопрос закрыт. Неправильно было mysql_query("SET NAMES 'utf-8'"), надо так mysql_query("SET NAMES utf8")