Кириллица или Юникод? Меняем кодировку | SelkinVitaly.RU
Кириллица или Юникод? Меняем кодировку | SelkinVitaly.RU

Проблема с кодировкой и её сменой.

Рубрика: XHTML и HTML

Просмотров: 19663

Всем привет. На протяжении многих месяцев я не мог побороть одну проблему, которая не давала мне покоя. Кодировка - как много в этом слове...

Смена кодировки на сайте

Кодировка - это определённая таблица, состоящая из некоторого кол-ва символов. Чтобы страница отразилась в доступном для нас виде, необходиму указать верную таблицу кодировки.

Выбор кодировки

Думаю, ни для кого не секрет, что сейчас на просторах Интернета наиболее используемы и восстребованы две таблицы: кириллица (Windows-1251) и 8-битная форма юникода (UTF-8). Первоначально, когда я делал первые шаги, я использовал кириллицу, т.к она была наиболее популярна. Сейчас она утрачивает свою значимость, на смену приходит более мощная - 8-битное кодирование текста Юникодом, называемое UTF-8.

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

Смена кодировки на сайте (CP1251-UTF-8)

Обычно, смена происходит в три этапа: меняем кодировку самих страниц, указываем используемую кодирвку, меняем кодировку в БД. Теперь о каждом пункте по подробнее.

1. Смена кодировки веб-страниц

На этом этапе нам понадобится любой текстовый редактор, который способен изменить кодировку файла. Я использую для таких целях Notepade2.

Итак, открываем нашу страницу в программе:

Определение кодировки файла

Жмём Файл--Кодировка и меняем с ANSI на UTF-8.

Смена кодировки файла

2. Указываем кодировку браузеру

Браузер - это такая же груда программного кода, которая не в состоянии самостоятельно определить кодировку. Поэтому тут нужно делать вручную. Можно пойти несколькими путями:

1) Прописать meta-тег для указания кодировки

Для каждой страницы добавляем:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

2) Прописать PHP-директиву для указания кодировки

Для каждой страницы добавляем:

<?php header('Content-type: text/html; charset=utf-8')?>

3) Прописать директиву в .htaccess для указания кодировки

Это самый лучший и простой способ, т.к нужно добавить лишь одну строчку в файл .htaccess:

AddDefaultCharset UTF-8

3. Изменяем кодировку в БД

Это, пожалуй, самый проблематичный шаг. Дело доходило до того, что я писал в службу поддержки хостинга. Но и её представители не дали мне вразумительно ответа. Ответ был найден на стороннем блоге. Оказалосьб, что я не добавил парочку директив в файл с соединением БД.

Итак, смотрим:

1) Экспортируем наши таблицы (БЕЗ СЖАТИЯ).

Экспортируем таблицы для изменения кодировки

2) Помещаем полученный код при экспорте в пустой файл с расширение sql

3) Меняем кодировку данного файла через Notepad2 на UTF-8 без BOM.

Смена кодировки sql-дампа

4) Открываем файл и изменяем кодировку таблиц.

Находим все возможные подобные строки в нашем файле:

ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

Меняем cp1251 на utf8.

5) Прописываем PHP-директиву в файл с соединением БД.

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
Добавляем операторы для изменения кодировки

И только после этих операций кодировка будет сменена. Надеюсь, что вы не наступите на грабли, на которые наступил в своё время я.

Комментарии:

Добавил: xexex.ru (27-Dec 2011 21:07:12)

Советую почитать сайт на эту тему xexex.ru <a href=xexex.ru>xexex.ru</a> www.xexex.ru

Добавил: webmonstor (24-Dec 2011 8:03:26)

а я машину купил!!! )))

Добавил: Morfius (28-Nov 2011 23:23:20)

админ сайта, у тебя чего-то каптча криво работает ;) одни и те-же цифры выводит

Добавил: Morfius (28-Nov 2011 23:20:54)

Влад, ты долбоёб, если у тебя 1000 файлов и ты не смог сделать сайт на основе одной страницы и функций php!

Добавил: Marmuk (25-Nov 2011 20:30:37)

http://marmuk.pcriot.com

Добавил: трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! (23-Nov 2011 23:22:21)

трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! трататата это автомат!!! СУКА БЛЯТЬ УПЯЧКА!!!!!!!!! 123Далее Добавление комментария: Имя *: Email: Текст *: Символы на картинке *: RSS-подписка Разделы статьй » CSS (4) » JavaScript (8) » MySQL (1) » PHP (5) » XHTML и HTML (3) » Веб-дизайн (4) » Оптимизация (4) » Сервера (1) » Файл .htaccess (8) Каталог товаров » PHP (2) » CSS (1) » CMS (1) Разделы уроков » HTML-учебник (10) Последние статьи 2.03.10 Проблема с кодировкой и её сменой. Рубрика: XHTML и HTML 3.02.10 Дистрибутив сервера Denwer Рубрика: Сервера 12.01.10 Перевод с русского в транслит Рубрика: PHP 28.11.09 Баги в IE и их устранение. Далее Рубрика: CSS 22.11.09 Баги в IE и их устранение Рубрика: CSS Последние уроки 22.10.09 Урок №10 - Форматирование текста Рубрика: HTML-учебник 27.09.09 Урок №9 - Добиваем формы и поля Рубрика: HTML-учебник 18.09.09 Урок №8 - Формы и ещё раз формы Рубрика: HTML-учебник 18.08.09 Урок №7 - Познаём особенности "тела" Рубрика: HTML-учебник 6.08.09 Урок №6 - BR, BIG и BLOCKQUOTE. Часть пятая Рубрика: HTML-учебник

Добавил: Евн (01-Oct 2011 14:55:32)

Ну да, видать можно. Я вот дом строю http://www.adeco-group.ru/ и сайт заказал http://www.adeco-it.ru/

Добавил: меридиан (22-Sep 2011 11:05:55)

Туры в Китай, Тайланд, Израиль meridien.ru Новосибирск

Добавил: X (13-Sep 2011 12:17:47)

<a href="http://selkinvitaly.ru/article40-2.html"> _ </a>

Добавил: Чувачок (26-Aug 2011 17:22:25)

Во в первые вижу такой живой блог=) такие обсуждения=)


Добавление комментария:

Имя *:

Email:

Текст *:

Символы на картинке *:

RSS-подписка
RSS-подписка на статьи по основам сайтостроения RSS-подписка на полезные уроки по web-языкам
Разделы статьй
Каталог товаров
Разделы уроков
Последние статьи
Последние уроки