Как сделать правильное отображения русского текста, какую кодировку поставить. (MySQL, PHP)
Отображение на сайте
Запись в БД
Отображение на сайте
Запись в БД
У вас на картинке пункт меню Главная, отображён корректно, а вот другие, как-то не очень.. .
Так бывает при перекодировании, а нужно преобразование. Теперь нужно в HTML внести изменения, но следить за тем, чтобы в текстовом редакторе, была та же кодировка, что для БД.
Рекомендуемая кодировка для всего проекта: UTF-8 без BOM
P.S. Кстати, прежде чем заключать договор с хостером, нужно уточнить, какая кодировка установлена для его MySQL сервера. Если windows-1251, то ну его на хер такого хостера!
посмотри какая кодировка стоит по умолчанию в РНР при загрузке страницы, какая задана в базе MySQL. Предпочительней использовать UTF-8. Как показывает практика, если в дальнейшем будешь использовать Ajax, то с UTF-8 меньше всего возни будет
утф8 в базу
Везде одну и ту же ставь. Рекомендуется UTF-8. Имей ввиду, что у MySQL есть 4 параметра, отвечающие за кодировку. Их все нужно правильно выставить.
выдержка из файлов конфига с самыми важными:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
а если цепляться из консоли, то запускать так:
mysql.exe --default-character-set=cp1251 для винды
mysql.exe --default-character-set=KOI8-R для никсов под KOI
CP-1251 пробовал? Читай второй ответ UTF предпочтительней, но все везде должно совпадать.
В php iconv или в html windows-1251
многие функции поддерживают только ютф8 и переводят в него даже если у самого стоит 1251 поэтому я делаю так перед выводом подобного на экран
mb_convert_encoding($result,'utf-8','cp1251')
Написали тучу безграмотной чуши!
Сам документ (страница сайта) должен иметь кодировку UTF-8
База данных (соответственно, все её таблицы) должна иметь кодировку UTF-8
На всякий случай collated general_c
Всё! Никаких проблем.
Проблемы начинаются с использования древних национальных кодировок вроде русской cp-1251 или еврейской cp-1252.