Как установить кодировку скрипта в php
Иногда, задание кодировки документа через один лишь файловый редактор не производит желаемого результата, так как сервер имеет свое понятие о работе с документами и кодировкой. Особенно дело касается локально сервера (Денвера), в котором принудительно задается кодировка для обработки файлов. В последствии чего при выводе кириллических символов мы видим на экране разные «кракозябры». Конечно можно ринуться искать настройки сервера и поправить все в них, но как быть если на сервере несколько сайтов с различной кодировкой?
Для того, чтобы привести в соответствие страницу скрипта, установить кодировку для входящих и исходящих запросов, задать заголовок для браузера, то необходимо всего навсего прописать в начале страницы своего скрипта следующий код:
UTF-8 — если не устраивает можете заменить на свою кодировку.
Проверить текущую кодировку Вы можете выполнив следующую функцию:
Конечно для стабильной работы и правильного отображения может потребоваться всего лишь воспользоваться двумя функциями:
header('Content-Type: text/html; charset=UTF-8'); mb_internal_encoding('UTF-8');
MySQL + кодировка таблиц + php include = иероглифы.
Правим новый сайт, но со старой бд, инклюдим значения из бд, получаем иероглифы. БД уже всю перелопатил, сменил кодировку с cp1251, на utf8_general_ci, даже кодировку полей вручную проверил и сменил, один чёрт, где то еще даржится старая кодировка. Помогло включение в файл настоек подключения к бд кода:
$link = mysql_connect ( «localhost» , «user» , «password» );
mysql_set_charset ( «utf8» , $link );
Найдено на:
source: http://intop24.ru/problema_s_kodirovkoy_saita
Вступление
Каждый web-разработчик хотябы раз в своей жизни, а то и стопятсот раз сталкивался с проблемой неправильной кодировки сайта (например, когда вместо русских букв вы видите кракозябры). А если выразиться более корректно, то с проблемой «расхождения» кодировок на сайте. Ибо если везде указана одна и та же кодировка, то проблем с ней возникнуть не может! Итак, давайте попробуем разобраться, в каких местах нам надо настроить (указать) кодировку для сайта:
- Перекодировать сам файл, отвечающий за web-страницу
- Перекодировать все подключаемые к нему файлы
- Указать кодировку в файле httpd.conf
- Указать кодировку в файле .htaccess
- Указать кодировку Базы данных
Самое главное — это соблюсти одно условие: во всех вышеперечисленных местах кодировка должна быть одинаковой. Если это utf-8, то везде, во всех пяти местах, это должна быть именно utf-8. Иначе рано или поздно вы будете сталкиваться с проблемой кодировок и тратить на это по парочке часов драгоценного времени.
1. Как перекодировать файл, отвечающий за web-страницу?
Для того чтобы узнать текущую кодировку файла, вы можете открыть его в Notepad++, зайти в пунк «Encoding» и там будет выбрана текущая кодировка файла. Для того чтобы её сменить, например, на UTF-8, выберите в этом же меню «Convert to UTF-8 without BOOM».
2. Как перекодировать подключаемые файлы?
Иногда бывает так, что в файле с правильной кодировкой подключается файл с совершенно другой кодировкой, из-за чего возникают проблемы. Например, файл может подключаться так:
Поступите с подключаемыми файлами так, как написано в пункте 1 .
3. Как указать кодировку в файле httpd.conf?
Файл httpd.conf содержит глобальные инструкции для сервера. Обычно он расположен по пути «/usr/local/apache/conf/», также вы можете его найти поиском. Если в нем изменить кодировку по умолчанию, то она поменяется для всех сайтов, расположенных на этом сервере. Будьте аккуратны!
Чтобы сменить кодировку, найдите в файле httpd.conf строчку «AddDefaultCharset windows-1251» и замените на «AddDefaultCharset utf-8».
Кстати, если вы пользуетесь виртуальным платным сервером, то скорее всего, у вас не будет доступа к этому файлу. Но следующий пункт вам поможет.
4. Как указать кодировку в файле .htaccess?
В корневой директории вашего сайта скорее всего уже есть, а если нету, то можно создать файл .htaccess. Да-да, это файл без имени, только с расширением. Он отвечает за настройки апача для конкретного сайта. Для того чтобы в нем прописать кодировку сайта, необходимо найти и подправить (или добавить) вот такую строку: «AddDefaultCharset UTF-8».
5. Как указать кодировку Базы данных?
Есть такие люди, которые проблему несоответствия кодировок файлов и БД решают, например, так:
$link = mysql_connect ( «localhost» , «user» , «password» );
mysql_set_charset ( «utf8» , $link );
?>?php>
Ну и существует еще порядка 10 способов на лету (при извлечении, при записи) перекодировать данные. Но понятно же, что когда-нибудь это не сработает: просто в кодировке windows-1251 не окажется нужного символа.
Так что когда создаете БД, то выбирайте сразу же правильную кодировку: «UTF-8 general ci». Либо можно попробовать сменить кодировку в Базе данных:
Ах да! Не забудьте, что в базе данных у каждой таблицы есть своя кодировка. И если на момент смены кодировки у самой БД уже были созданы какие-то таблицы, то им также придется вручную сменить кодировку:
Ну и еще вас немного огорчу. У колонок таблицы тоже есть своя кодировка =) И если таблица на момент перекодирования БД была уже создана, то эту кодировку также придется сменить:
Конец
Ну вот, надеюсь, что после прочтения этой статьи вы поняли, что кодировка может задаваться не только в самом файле, но и еще в куче разных мест. Дерзайте, друзья, и используйте везде кодировку UTF-8, ибо её поддерживают сейчас все разработчики, и она поддерживает все известные и неизвестные вам символы 😉
Как указать кодировку utf 8 в html
Для указания кодировки страницы используется тег со специальным атрибутом charset . Исходя из значения атрибута браузер понимает, в какой кодировке стоит интерпретировать текст внутри страницы. Сам тег располагают внутри секции . Например,
charset="UTF-8">
Как задать кодировку в htaccess

Одна из самых частых проблем сайта — это его кодировка. И несмотря на это многие Web-мастера продолжают утверждать, что браузер сам выбирает кодировку. Действительно, он выбирает кодировку сам, но делает это не всегда правильно. Вот это и есть самая распространнёная ошибка с кодировкой: сайт в кодировке, допустим, UTF-8, а браузер настойчиво выбирает windows-1251. Вот как задать жёстко кодировку через файл htaccess, я расскажу в этой небольшой статье.
Для того, чтобы задать кодировку файла в htaccess достаточно написать в нём всего одну строчку:
Если Вам нужна windows-1251, то тогда так:
Всего одна строчка и теперь браузер, независимо от своего предпочтения, будет выбирать указанную кодировку. Сразу говорю, данный способ — это действительно мощный. Вы должны понимать, что раз браузер неправильно распознаёт кодировку Вашего сайта (игнорируя даже мета-тег «ContentType«), значит, на то есть свои причины, поэтому внимательно проверьте: везде ли всё хорошо отображается.
Надеюсь, что этой статьей я помог Вам решить проблему с кодировкой. А в следующей статье я расскажу о проблеме, связанной с кодировкой базы данных. Это тоже весьма частая проблема, которую многие не могут решить.

![]()
Создано 09.07.2011 16:32:47
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 14 ):
shtyrmlord 09.12.2012 00:45:06
Фух норм инструкция, а то вроде все UTF 8, а браузер кракозябры показывает
Денис кукушкин 19.04.2013 21:45:04
а где находится htaccess
