' Решение проблем с кодировками сайтов | Шнайдер блог

Решение проблем с кодировками сайтов

Таже можете ознакомится с обновленной версией здесь.

Здравствуйте. Пользователи часто сталкиваются с проблемами неверной кодировки после закачки сайтов к нам на сервер.

Сперва необходимо удостоверится, в кодировке чего именно проблема, в кодировке файлов или в кодировке базы. В принципе определить это не сложно. Весь сайт в непонятных кракозябрах, абсолютно весь, то скорее всего проблема в кодировке файлов. Это проблему решить наиболее легко. По умолчания на сервере установлена кодировка utf-8, а в Вашем случае кодировка страниц - windows-1251. В папке с сайтом создаем файл .htaccess ( или дописываем в существующий) с текстом:

AddDefaultCharset windows-1251

Сохраняете, и все начинает работать верно.

Это было просто, более сложная проблема, когда с кодировкой файлов все нормально, а проблема в кодировке базы. Если вы видите, что частично текст остается читабельным, но вся динамическая информация типа новостей, различных данных и т.д. отображается в виде знаков вопроса, то проблема в базе. Как же решить данную проблему?

Сперва необходимо удостоверится, что в самой базе данные находятся в нормальном виде. Для этого заходим в cpanel и запускаем PHPMYADMIN. Заходим в необходимую базу, выбираем какую-нибудь таблицу, где есть русские буквы, жмем просмотр. Если мы видим, что текст отображается нормально, значит проблема в кодировке соединения БД с PHP скриптами, если же мы и здесь видим вопросы, тогда возможны варианты.

1. Дамп базы изначально был в вопросах.

2. База была залита неверно.

Первый пункт проверить довольно легко. Открываем дамп в любом текстовом редакторе и смотрим русский текст в нем. Если он отображается вопросами, значит дамп сделан плохо, и нужно его сделать заново, так как те данные уже не восстановить. Если же в дампе нормальные данные - то скорее всего произошла ошибка при самой заливке. Чтобы избежать таких проблем, рекомендуем залить дамп при помощи программы от supex.net DUMPER Lite. Удобная программа, которая сама подбирает кодировки. Инстуркции по работе с ней Вы найдете на их сайте.

Итак, будем считать, что в PHPMYADMIN база отбражается корректно, а на сайте вопросами (так чаще всего и бывает). Для решения данной проблемы требуется сделать следующее.

Для самописного скрипта - наиболее легко, так как вы его хозяин, но и для любых других скриптов и движков правило не меняется. Просто там тяжелее найти нужные строки. Итак, в скрипте нужно найти следующие строки:

mysql_connect(что-то);

mysql_select_db(что-то);

После данных строк сразу пишите.

mysql_query("SET NAMES cp1251");

Сохраняете, и все начинает работать. В течение некоторого времени мы выолжим рекомендации для различных движков, какие именно файлы и где править. Можете писать запросы в ТП для того или иного движка.

С любовью, Ваши Shneider-host.ru.


Категории


Хостинг сайтов

Популярное в категории