что это такое и как установить ее
Что такое кодировка сайта. Как узнать и как установить кодировку страницы сайта. Разбираемся вместе с экспертами Ingate.
Кодировка сайта
Этот атрибут веб-ресурса объединяет в себе его коды и основанное на них экранное отображение печатных символов.
Назначение и принцип работы кодировки
Независимо от вида и места размещения (в текстовом контенте, файлах, письмах на email и на сайтах), целью кодирования всегда является сохранение данных в двоичном формате, то есть на языке компьютеров.
Как это работает?
Для наглядности рассмотрим такой пример. Допустим, ваш друг воспринимает только два символа: единицу и ноль. С другими цифрами и буквами он не знаком и может прочитать только те тексты, которые состоят из известных ему элементов. Поэтому возникает масса вопросов: как с таким другом общаться, доносить до него смысл слов и понимать, что он отвечает. Выход из ситуации – разработать систему, по которой каждой цифре, букве и другому символу будет соответствовать определенная комбинация единиц и нулей. Это позволит рассказать что-то другу, заменив слова двоичным кодом, и узнать, что он отвечает.
Что может пойти не так?
Если непонятливый друг один, всё более-менее понятно. Но как быть, когда таких людей десятки или даже сотни? У каждого из них собственные друзья и таблицы с кодами, поэтому при встрече никто никого не сможет понять. Один решил заменить «А» на 111000, а на другом табличном языке – это цифра 5. В результате все путаются, и разговор никак не складывается. Но пора вернуться к реальности. Компьютеры – это те друзья, о которых мы говорили, а кодировки – таблицы с заменой символов.
Виды кодировок
Из всех существующих языков кодирования мы выбрали несколько самых востребованных и удобных, о которых расскажем подробнее.
UTF-8
Этот вид кодирования, полное название которого – «Unicode Transformation Format», представляет собой восьмибитный «Юникод». Он появился в 1992 году и с тех пор по всему миру остаётся эталоном программного обеспечения. В UTF-8 есть два раздела, выделенных под кириллицу: Cyrillic Supplement и Cyrillic.
Таблица кодировки UTF-8 для букв русского алфавита
Коды UTF-8 для кириллических буквWindows-1251
Это вторая по популярности восьмибитная кодировка, разработанная для русификаторов Windows еще в 1990 году. Она рассчитана на кириллический шрифт.
Таблица кодировки Windows-1251
Коды Windows-1251KOI8-R
Такой стандартный язык предназначен специально для кодирования кириллицы. Убирая восьмой бит у каждого из его символов, получаем латинскую транскрипцию кириллических букв. С его помощью можно, например, закодировать письмо для отправки на email, но сегодня этот вид кодировки можно встретить редко.
Таблица кодировки KOI8-R
Коды KOI8-RСпособы определения кодировки
Когда на сайте возникают ошибки, чтобы исправить их, иногда необходимо установить, как закодирована страница. Как именно это можно сделать, расскажем дальше.
1-й способ – по метатегу
Будем действовать по такому алгоритму.
- Открываем исходный код. Для этого в открытом окне кликаем правой клавишей мышки по свободному месту. Появится меню, в котором нужно выбрать «Исходный код страницы».
- Находим тег в директории .
- Дальше ищем в нём строчку с реквизитом charset. Именно его значение отражает кодировку страницы.
2-й способ – при помощи инструментов браузера
В этом случае, чтобы проверить, какой вид кодирования выбран для сайта, нужно придерживаться такой схемы действий.
- Ищем в настройках браузера раздел с информацией о странице или пункт «Подробнее» в зависимости от выбранного программного обеспечения.
- Откроется окно, в котором нам нужно выбрать вкладку с ключевыми сведениями о странице.
- Здесь одним из пунктов будет кодировка
Установка кодировки для разных браузеров
Если при открытии сайта невозможно ничего прочитать, потому что видны не буквы кириллицы, а какие-то крючки, цифры или символы на латинице, для приведения страницы в стандартный вид необходимо выставить кодировку вручную. Рассмотрим по шагам, как это сделать в самых популярных браузерах.
Firefox от Mozilla
- Открываем меню. Это можно сделать, кликнув по значку в виде трех горизонтальных полосок.
- Переходим в раздел «Ещё».
- Откроется окно, где нужно выбрать пункт «Кодировка текста».
- Из появившегося списка выбираем подходящий вариант.
Opera
- Запускаем настройку браузера.
- Находим в меню раздел «Веб-сайты»..
- Здесь нужно выбрать «Отображение».
- Из доступных команд нам пригодится «Настроить шрифты».
- Теперь остаётся только выбрать кодировку.
Chrome от Google
- Заходим в меню. В этом браузере это можно сделать, кликнув по троеточию в правом верхнем углу.
- Выбираем раздел «Дополнительные инструменты»
- Здесь нам нужен пункт «Кодировка».
- В открывшемся окне появится список языков кодирования, из которых выбираем нужный.
Настройка кодировки
Если с вашим сайтом постоянно возникают проблемы, поступают жалобы от посетителей по поводу неправильно закодированных страниц, есть смысл настроить всё заново. Чтобы наладить работу ресурса, нужно закодировать сервер, базы данных, скрипты и файлы одинаково. Для этого мы пройдёмся по таким пунктам.
- Все размещённые на сайте файлы приводим к единой кодировке. Если есть необходимость её поменять, используем специальные приложения. Как вариант, можно выбрать Notepad++.
- Устанавливаем теги кодировок в html.
- Настраиваем заголовки серверов таким образом, чтобы они кодировались по умолчанию. Иначе браузер не будет воспринимать даже метатеги.
- В файле httpd.conf находим команду AddDefaultCharset и устанавливаем нужное значение.
- Если доступ к корневым настройкам сервера отсутствует, есть другой способ изменения кодировки. Вводим необходимые параметры в файл .htaccess, размещённый в папке нашего ресурса.
- Заголовки можно отправить при помощи скриптов. Это важная операция, и прежде чем выводить контент, прежде всего нужно выполнить её.
Нам придётся выставить для подключаемых модулей правильную кодировку вручную. Если закодировать сайт неправильно, можно причинить вред аудитории. В результате посещаемость и доходность значительно снизятся. Попав на ваш ресурс, посетители увидят не тексты, а непонятные символы. Вряд ли кто-то из них займётся ручной настройкой кодировки, и практически все просто покинут страницу. Нужно решать эту задачу максимально ответственно, так как от правильного кодирования во многом зависит судьба вашего проекта.
ЧИТАЙ ТАКЖЕ
Вики-разметка ВКонтакте для чайников
Гид по API Google Maps: разбираем по шагам
Исходный код сайта: что это такое и как посмотреть HTML-код страницы
(Рейтинг: 5, Голосов: 6) |
У тебя есть нерешенные задачи?
В этом блоге мы делимся знаниями, но если у тебя есть серьезные цели, которые требуют вмешательства настоящих профи, сообщи! Перезвоним, расскажем, решим любые задачи из области digital
Находи клиентов. Быстрее!
Работаем по будням с 9:30 до 18:30. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 10:30.
Приложи файл или ТЗ
Нажимая кнопку, ты разрешаешь обработку персональных данных и соглашаешься с политикой конфиденциальности.
Работаем по будням с 9:30 до 18:30. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 10:30.
Нажимая кнопку, ты разрешаешь обработку персональных данных и соглашаешься с политикой конфиденциальности.
наверх
Кодировка Windows 1251 / Первокурснику IT-шнику
В начале 90-х, когда произошел развал СССР и границы России были открыты, к нам стали поступать программные продукты западного производства. Естественно, все они были англоязычными. В это же время начинает развиваться Интернет. Остро встала проблема русификации ресурсов и программ. Тогда и была придумана русская кодировка Windows 1251. Она позволяет корректно отображать буквы славянских алфавитов:
- русского;
- украинского;
- белорусского;
- сербского;
- болгарского;
- македонского.
Разработка велась русским представительством Microsoft совместно с компаниями «Диалог» и «Параграф». За основу были взяты самописные разработки, которые в 1990-91гг имели хождение среди немногочисленных идеологов ИТ в России.
На сегодняшний день разработан более универсальный способ кодировать символы — UTF-8 (Юникод). В нем представлено почти 90% всех программных и веб-ресурсов. Windows 1251 применяется в 1,6% случаев. (Информация по исследованиям Web Technology Surveys)
Кодировка сайта utf 8 или Windows 1251?
Чтобы ответить на этот вопрос, необходимо немного понять, что такое кодировка и чем они отличаются. Текстовая информация, как впрочем, и любая другая, в компьютере хранится в закодированном виде. Нам легче представить ее как числа. Каждый символ может занимать один или более байт. Windows 1251 является однобайтной кодировкой, а UTF-8 восьмибайтной. Это значит, что в Windows 1251 можно закодировать всего 256 символов.
Так как все сводится к двоичной системе исчисления, а байт – это 8 бит (0 и 1), то и максимальное число сочетаний составляет 28 = 256. Юникод позволяет представлять куда большее число символов, да и на каждый может быть выделен больший размер.
Отсюда и следуют преимущества Юникода:
- В шапке сайта следует указать кодировку, которая используется. Иначе вместо символов отобразятся «кракозяблы». А Юникод является стандартным для всех браузеров – они ловят его «на лету» как установленный по умолчанию.
- Символы сайта останутся одними и теми же, независимо от того, в какой стране загружается ресурс. Это зависит не от географического расположения серверов, а от языка программного обеспечения рабочих станций клиента. Житель Португалии, очевидно, использует клавиатуру и все ПО, включая операционную систему, на родном языке. В его компьютере, скорее всего вообще отсутствует Windows 1251. А если это так, то и сайты на русском языке корректно открываться не будут. Юникод, в свою очередь, «зашит» в любую ОС на любом языке.
- UTF-8 позволяет закодировать большее количество символов. На данный момент используется 6 байт из 8-ми, а русские символы кодируются двумя байтами.
Именно поэтому предпочтительней использовать универсальную кодировку, а не узкоспециализированную, которая применяется только в славянских странах.
Таблица кодировки Windows 1251
Для программистов и разработчиков сайтов бывает необходимо знать номера символов. Для этого используются специальные таблицы кодировки. Ниже представлена таблица для Windows 1251.
Что делать, если слетела кодировка командной строки?
Иногда Вы можете столкнуться с ситуацией, когда в командной строке вместо русских отображаются непонятные символы. Это означает, что возникла проблема кодировки командной строки Windows 7. Почему 7-ка? Потому что, начиная с 8-й версии, используется UTF-8, а в семерке еще Windows 1251.
Единовременно помочь решить проблему может команда chcp 866. Текущий сеанс будет работать корректно. А вот чтобы исправить ошибку кардинально, понадобится реестр.
3. Исправьте на 866 в положении «Десятичная».
4. Закройте и откройте вновь командную строку. Ситуация должна исправиться.
Что такое кодовая страница?
Чтобы компьютер мог обрабатывать текст, символы должны быть представлены числовыми значениями. Специальная схема кодирования или набор символов с числовым индексом, присвоенным каждому символу в определенном порядке, используется для сопоставления символов, вводимых с клавиатуры. Эта схема кодирования называется кодовой страницей, а числовой индекс, связанный с каждым символом, называется значением кодовой точки. Думайте о кодовой странице как об организованной таблице, содержащей набор символов, называемый набором символов, которые компьютеры используют для обработки текста, позволяя операционным системам однозначно идентифицировать символ по его соответствующему значению кодовой точки.Большинство языковых групп и операционных систем, поддерживающих эти языки, имеют уникальный набор символов и кодовую страницу для размещения букв, используемых этим набором символов. Каждая операционная система имеет схему кодирования, которая сопоставляет значения кодовых точек с определенным символом. Другими словами, кодовые страницы предназначены для представления и поддержки языка или набора языков, использующих общие системы письма. Например, датский, голландский, английский и немецкий языки могут быть представлены кодовой страницей 1252 Американского национального института стандартов (ANSI) в Windows, а китайский язык может быть представлен кодовой страницей расширенных символов UNIX (EUC) в UNIX.
Различные системы письма используют символы, которых нет в других; у них есть свои собственные наборы символов, поэтому существуют разные кодовые страницы, которые их поддерживают. Например, в кодовой странице ANSI 1252, используемой в основном на английском и большинстве западноевропейских языков, значение кодовой точки «202» в десятичном значении (CA в шестнадцатеричном значении) представляет символ «», но в кодовой странице ANSI 1253 (используется в греческом языке) то же значение кодовой точки представляет символ «K». Ниже приведен список кодовых страниц Windows:
Однобайтовый набор символов (SBCS):
1250: Windows Latin 2 (Центральная Европа)
1251: Windows Cyrillic
1252: Windows Latin 1 (ANSI)
1253: Windows Greek
1254: Windows Latin 5 (Турецкий) )
1255: Windows иврит
1256: Windows Arabic
1257: Windows Baltic
1258: Windows Vietnamese
874: Windows Thai
Двухбайтовый набор символов (DBCS):
932: Японский Shift-JIS 9 0009 936: Упрощенный китайский GBK
949: корейский
950: традиционный китайский Big5
[ASCII]
В каждой кодовой странице наборы символов с номерами от 32 до 127 (от 0x20 до 0x7F в шестнадцатеричном формате) идентичны и называются набором символов ASCII, — 7-битный набор символов ASCII включен во все кодовые страницы с одинаковыми назначенными значениями кодовых точек.
[Однобайтовый набор символов]
Языки, требующие менее 256 символов, могут быть представлены 8-битным (однобайтовым) набором символов. Это связано с тем, что бит может содержать одно из двух возможных значений (обычно «1» или «0»), следовательно, 8-битный (2 в 8-й степени) или однобайтовый набор символов может содержать до 256 символов.
[Расширенные символы]
Восьмибитное представление может обрабатывать на 128 символов больше, чем 7-битное представление, и называется расширенным набором символов. Расширенный набор символов использует символы ASCII в качестве общей основы и включает дополнительные 128 символов помимо верхних 128 позиций ASCII. Символы с номерами от 128 до 255 (от 0x80 до 0xFF в шестнадцатеричном формате) называются расширенными символами или символами с диакритическими знаками и варьируются от кодовой страницы к кодовой странице.
[Набор двухбайтовых символов]
Некоторые языки, использующие идеографические символы, такие как китайский (традиционный и упрощенный), японский и корейский, содержат тысячи символов и требуют более 256 символов. Поскольку одного байта недостаточно для кодирования всех символов, для этих языков были созданы многобайтовые наборы символов. Двухбайтовые наборы символов часто используются для описания этих языков, но на самом деле они представляют собой смесь однобайтовых и двухбайтовых символов; поэтому термин «многобайтовые символы» часто используется для описания символов дальневосточных языков. Двухбайтовый (два байта) эквивалентен 16 битам (2 в 16-й степени), поэтому теоретически может обеспечить до 65 536 уникальных значений.
Изменить кодовую страницу консоли Windows по умолчанию на UTF-8
спросил
Изменено 5 месяцев назад
Просмотрено 472 тысячи раз
В настоящее время я использую Windows 7 x64 и обычно хочу, чтобы все инструменты консоли работали с кодовой страницей UTF-8, а не с кодовой страницей по умолчанию 850.
Запуск chcp 65001
в командной строке перед использованием любых инструментов помогает, но есть ли способ установить кодовую страницу по умолчанию?
Обновление:
Изменение значения HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
на 65001
приводит к тому, что в моем случае система не может загружаться.
Предлагаемое изменение HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun
на @chcp 65001>nul
отлично подошёл для моей цели. (спасибо Ole_Brun)
- windows-7
- windows
- кодировка
- консоль
Чтобы изменить кодовую страницу только для консоли, выполните следующие действия:
- Пуск -> Выполнить -> regedit
- Перейти к
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- Измените значение на
@chcp 65001>nul
Если Autorun
отсутствует, вы можете добавить New String
Лично я не люблю менять реестр. Это может вызвать много проблем. Я создал пакетный файл:
@ECHO OFF REM изменить CHCP на UTF-8 ЧКП 65001 ЦЛС
Я сохранил в C:\Windows\System32
как switch.bat
и создал ссылку для cmd.exe
на рабочем столе.
В свойствах ярлыка cmd изменен пункт назначения на: C:\Windows\System32\cmd.exe /k switch
Вуаля, когда мне нужно ввести кодировку UTF-8, я использую эту ссылку.
5 В сборке Windows 10 1809 мне удалось навсегда решить эту проблему, перейдя в системные Настройки языка
, выбрав Настройки административного языка
, нажав Изменить язык системы ...
и проверьте бета-версию : используйте Unicode UTF-8 для поддержки языков во всем мире
, а затем перезагрузите компьютер.
Таким образом, это относится ко всем приложениям, даже к тем, которые я не запускаю из командной строки!
(Что было необходимо для меня, так как я пытался редактировать код Agda от Atom. )
Изменить реестр:
Редактор реестра Windows версии 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "ОЕМКП"="65001"
Затем перезапустите. С этим исправлением, если вы используете шрифт Consolas, он блокируется.
PowerShell в небольшой размер шрифта. cmd.exe
все еще работает нормально. Как обходной путь,
вы можете использовать консоль Lucida, или я переключился на Cascadia Mono:
https://github.com/microsoft/cascadia-code
1Это можно сделать, создав профиль PowerShell и добавив в него команду «chcp 65001 >$null»:
PS> Set-ExecutionPolicy RemoteSigned PS> New-Item -Path $Profile -ItemType file -Force PS> блокнот $Profile
Это не требует редактирования реестра и, в отличие от редактирования ярлыка, будет работать, если PowerShell запущен в определенной папке с помощью контекстного меню проводника Windows.
0 Команда для изменения кодовой страницы: chcp
. Пример: chcp 1252
. Вы должны ввести его в окне Powershell.
Чтобы не вводить его каждый раз (если вам постоянно приходится менять кодовую страницу), вы можете добавить его в командную строку программы. Для этого выполните следующие действия:
- Щелкните правой кнопкой мыши значок Powershell в меню «Пуск» и выберите «Дополнительно» > «Открыть расположение файла».
- Щелкните правой кнопкой мыши ярлык Powershell и выберите «Свойства».
- Добавьте следующее в конец командной строки «Цель»:
-NoExit -Command «chcp 1252»
Будь счастлив. Не возитесь с реестром Windows, если у вас нет другого выбора.
1Открыть в Powershell через проводник у меня по-прежнему не работает, хотя я пытался включить эту бета-функцию Unicode в языковых настройках.
Однако я только что обнаружил, что это сработало.
[HKEY_CURRENT_USER\Консоль\%SystemRoot%_System32_WindowsPowerShell_v1.