Что такое кодировка?
Я очень часто говорю и пишу о кодировке, однако, не все люди знают, что это такое. Вроде бы понимают, что кириллица - это "windows-1251" ("CP1251"), а Unicode - это "UTF-8". А что такое кодировка, так и не понимают. И целью данной статьи является рассказать о том, что это такое.
Кодировка - это таблица, в которой описывается соответствие определённого символа и числа. То есть любой символ, который мы видим или вводим, для компьютера в реальности - всего лишь набор битов (набор нулей и единиц). Именно эти биты и перегоняются от устройства к устройству. А чтобы показать результат этих перегонок человеку, компьютер преобразует с помощью таблицы (той самой кодировки) код символа в соответствующий внешний вид.
Однако, языков большое количество и зачастую у них совершенно разный набор символов. Именно поэтому так часто возникают проблемы с кодировкой. Вы набирали текст, допустим, на русском языке. А компьютер решил, что этот текст написан на китайском. И, разумеется, он используют китайскую кодировку, а не кириллическую. В результате, идёт неправильное преобразование символов, и мы видим "абракадабру".
Кодировок же большое количество, и задача программиста (Web-мастера) состоит в правильныом выборе кодировки и указания её напрямую, а не надеяться на сервер, браузер, пользователя или ещё кого-то.
Надеюсь, немного прояснил вопрос о том, что такое кодировка. Наверняка, у Вас возникла мысль о том, чтобы объединить все эти кодировки в одну, чтобы была универсальность. Мысли правильные, и это уже сделали, так родилась кодировка UTF-8 - самая популярная во всём мире. Она и является той самой универсальной кодировкой. Поэтому большинство CMS (например, Joomla, Wordpress, Drupal и многие другие) делают в кодировке UTF-8, так как CMS должна работать при любой национальной кодировке (и кириллической, и армянской, и арабской, и китайской, и любой другой).
Какой вывод можно сделать из этой статьи? Когда Вы создаёте сайт, то сразу ответьте себе на вопрос: "А на каких языках будет мой сайт?". Если Вы точно знаете, что там будет не только русский и латинский алфавит, то используйте UTF-8. В противном случае, оставляю выбор за Вами. Одно могу сказать точно: с UTF-8 придётся слегка помучиться. С национальной кодировкой всё значительно проще. Однако, если у Вас будет международный сайт, то лучше UTF-8 Вы ничего не найдёте.
-
- Михаил Русаков
Комментарии (5):
Добрый день. Слушаю Ваш курс. Застрял на кодировке. Пишу все как у Вас указано - выдает абрукадабру - проверка выдает что все равно UTF-8, а не windows-1251 При проверке к строке где мы задаем кодировку windows-1251, как то добавляется строка с кодировкой UTF-8. Может что то не так с нотпадом?
Ответить
Что то похимичил с нотепадом и все получилось, оданко при проверке на сайте все равно вставляется что кодировка UTF-8
Ответить
Изменение кодировки происходит следующим образом: 1.Скопируйте все русские предложения в буфер обмена, в противном случаем будете набирать снова 2.В NotePad++ в верхней панели выбираем командную строку "Кодировки" 3.Далее "Кодировки с флажком", из списка выбираем кириллица,windows-1251 4.Далее нажимаем "Ок" 5.Страница поменяла кодировку,убедитесь в правом нижнем углу. 6.Вставляйте обратно русские предложения в заместо абракадабры,сохраняем!
Ответить
Спасибо, очень помогло!
Ответить
с UTF-8 какая то аброкадабра и получается - ни слова по русски((
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.