<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

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

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Как поменять кодировку на сайте

Как поменять кодировку на сайте

Меня несколько раз просили написать, как поменять кодировку на сайте. Дело это состоит из нескольких частей, поэтому в двух словах не объяснить. И я принял решение написать эту статью, в которой чётко расписать, что требуется для смены кодировки на сайте.

Давайте с Вами будем переводить сайт в кодировку UTF-8. Если Вы хотите перевести в любую другую кодировку, то всё будет аналогично. Итак, вот порядок действий для этого:

  1. Все текстовые файлы (html, php, js, txt, в общем, в которых есть текст) перекодируйте в UTF-8. Сделать это очень просто через Notepad++ в пункте "Преобразовать в UTF-8 без BOM" из меню "Кодировки". Причём именно все файлы, которые даже ничего не выводят на страницу.
  2. Поместите в корень сайта файл .htaccess с текстом AddDefaultCharset UTF-8.
  3. Поменяйте кодировку в мета-теге <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

Если Ваш сайт не использует базу данных, то на этом этапе можно закончить менять кодировку. Но если база данных есть, то нужно сделать ещё и следующие шаги:

  1. Сразу после подключения к БД выполните запрос: SET NAMES UTF-8
  2. В phpMyAdmin поменяйте кодировку базы данных на utf8_general_ci в её настройках.
  3. Поставьте у всех таблиц кодировку utf8_general_ci.
  4. У всех текстовых типов полей так же поставьте кодировку utf8_general_ci.

Всё, теперь Ваша кодировка на сайте изменена. Добавлю лишь, что если где-то в коде Вы занимались преобразованием из одной кодировки в другую (например, через функцию iconv()), то тщательно проверьте это место, возможно, там появится проблема.

Если после смены кодировки у Вас что-то отображается не так, то почитайте эту статью: проблемы с кодировкой.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (11):

ghhgghhggh ghhgghhggh 18.02.2013 23:19:45

Молодец Михаил урок очень полезный.Люблю когда коротко и ясно а не наоборот. Спасибо!

Ответить

demmir demmir 09.03.2013 12:27:18

просто класно понятно и ещлково спасибо

Ответить

andrew11 andrew11 08.05.2013 20:23:16

Здравствуйте Михаил, вот я опробовал, то что вы написали, только с кодировкой windows-1251. Прямо все способы разом применил, вот только все равно вылетали кракозябры. Но вдруг я случайно в файле .htaccess указал кодировку utf-8 и все заработало, нет кракозябр (притом в базе данных и в скрипте у меня кодировка windows-1251). Не могли бы вы мне ответить, почему? (если, конечно этому есть объяснение)

Ответить

Admin Admin 08.05.2013 21:22:24

Значит, файлы всё-таки в UTF-8 были. И из базы данных данные тоже поступали с кодировкой UTF-8 (по умолчанию, она и стоит на denwer).

Ответить

andrew11 andrew11 08.05.2013 21:54:19

Спасибо!

Ответить

Cezar Cezar 26.06.2013 00:33:27

Здравствуйте.Срочно нужна ваша помощь. Выходили крокозябры. решил перекодировать под UTF-8 по вашим указаниями. На 2 или 3 пункте я что-то не так сделал(скорее всего на 3) и у меня сайт перестал работать. Вводя ссылку, у меня пишет текст из index.php

Ответить

Admin Admin 26.06.2013 03:49:52

http://myrusakov.ru/php-start.html

Ответить

i-say i-say 15.11.2013 12:46:05

Добрый день. Такая проблема. У меня база данных изначально в кодировке cp1251. База для скрипта почтовой рассылки. Сайт, где внедрен скрипт - в кодировке utf8. Все, что написано в данной статье (по изменению кодировки в базе данных) я сделал. И, все равно, происходит следующее: пользователь, желающий оформить подписку на сайте, после того, как ввел в форму свои имя и e-mail, получает письмо (чтоб подтвердить рассылку), где его имя написано кракозябрами, и далее (после подтверждения) в таком виде и остается в базе данных. Если же меняю кодировку сайта на windows1251 - все хорошо, имя человеческое. Но я не хочу менять кодировку сайта. Как быть? Может быть, есть возможность как-то поменять кодировку отдельно взятого элемента, в данном случае, кодировку формы отправки данных? Спасибо.

Ответить

Admin Admin 15.11.2013 19:50:41

Убедитесь, что в письме есть заголовок Content-type с кодировкой utf-8.

Ответить

i-say i-say 15.11.2013 22:36:14

Прошу простить, но я совсем плохо знаком с php. Вот такой у меня код отправки. Скажите, что и где нужно поменять? http://jsfiddle.net/w2fes/

Ответить

alexandrdante alexandrdante 15.11.2013 22:51:01

Уважаемый Дмитрий,проверьте,пожалуйста,вот эту строчку с параметрами windows-1251 и utf-8. $headers .= "Content-type: text/plain; charset=windows-1251\r\n"; если не поможет,то будем разбираться

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.