- Как поменять кодировку (encoding) в текстовом редакторе?
- Текстовые файлы
- Кодировка файлов
- BOM (Byte Order Mark) — метка порядка байтов
- Смена кодировки файлов в блокноте (notepad)
- Как поменять кодировку в Notepad++
- Заключение
- Кодировка в блокноте по умолчанию
- Ответы (5)
- Как сменить кодировку в Блокноте по умолчанию с ANSI на другую
- Очень кратко:
- Немного лирики о том, почему всё так, а не иначе:
- Что делать, чтобы сменить кодировку в Блокноте по умолчанию с ANSI на другую:
- Как сменить кодировку текстового файла с помощью Блокнота в Windows
Как поменять кодировку (encoding) в текстовом редакторе?
Дата создания: 2012-05-07 07:11:41
Последний раз редактировалось: 2012-05-07 07:13:51
Я давно искал, в какой урок засунуть данный материал. В итоге решил немного расширить его и положить в отдельную статью.
Итак, сегодня мы научимся менять кодировку (encoding) в двух текстовых редакторах: стандартный блокнот (notepad) и Notepad++
Но сначала пару слов о текстовых файлах.
Текстовые файлы
Существует два вида текстовых файлов: простые текстовые файлы и текстовые файлы, содержащие информацию о форматировании (так называемый Rich Text Format).
Мы будем работать только с простыми текстовыми файлами.
Кодировка файлов
Все текстовые файлы имеют какую-то кодировку. Основных две: ANSI и Юникод. В ANSI кодировках (а их много) может быть закодировано только 256 символов. Если у вас русифицированная Windows, то блокнот создаёт текстовые документы в кодировке Windows-1251 — это одна из кодировок ANSI. Какая кодировка ANSI используется, зависит от языка операционной системы.
Юникод может содержать гораздо больше символов — примерно 65 тысяч, поэтому в Юникоде закодированы все письменности. Тем не менее, существует несколько вариантов юникода. Unicode LE используется в Windows, UTF-8 — распространён в интернете.
BOM (Byte Order Mark) — метка порядка байтов
Для различия различных версий юникода, в начале текстового файла может ставиться специальная метка — которая и говорит, в какой версии юникода закодирован текст файла.
Метка состоит из 2-4 байтов.
Использование BOM необязательно, а в некоторых случаях и нежелательно — особенно, если речь идёт о файлах с исходным кодом.
Ну а теперь, посмотрим, как менять кодировку в текстовых редакторах:
Смена кодировки файлов в блокноте (notepad)
В стандартном текстовом редакторе кодировку можно поменять только при сохранении файла.
Для этого используется пункт меню Файл -> Сохранить как.
В открывшемся диалоговом окне внизу можно выбрать нужную кодировку. Причём вариантов всего четыре:
ANSI — одна из кодировок ANSI (зависит от текущего языка ОС), Unicode — Little-Endian версия Юникода, которая используется в Windows. Unicode BE — Big-Endian версия Юникода (используется в (*NIX ОС), UTF-8 — Юникод для хранения файлов в интернете.
Как поменять кодировку в Notepad++
В Notepad++ есть возможность сохранить текст в UTF-8 без BOM метки. А также можно сохранить файл в различных версиях ANSI (пункт меню Кодировки -> Кодировки).
Заключение
Зачем нам знать, как менять кодировку в текстовых редакторах? IDE Visual C++ сама выбирает кодировку. Если вы откроете любой файл с исходным кодом (.cpp или .h) в простом текстовом редакторе, то увидите, что кодировка этого файла — ANSI.
В программах на ассемблере мы тоже будем использовать ANSI — этого требует компилятор. А вот когда будем разбирать скриптовые языки, то файлы с исходниками можно будет сохранять в UTF-8.
Кодировка в блокноте по умолчанию
Сколько помню, в блокноте (Notepad.exe) стояла по умолчанию кодировка ANSI. Сейчас (похоже, после последних обновлений) стоит по умолчанию UTF-8. Как вернуть её к ANSI? Система: Windows 10 Pro.
И ещё. Для размещения данного вопроса интерфейс требует обязательного указания темы, категории и т.д. Но там нет ни одного пункта по теме моего вопроса. Поэтому выбираю пункты как попало.
Ответы (5)
Добрый день.
Если текст отображается не правильно, попробуйте изменить настройки шрифта.
Был ли этот ответ полезным?
К сожалению, это не помогло.
Отлично! Благодарим за отзыв.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв, он поможет улучшить наш сайт.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв.
Сколько помню, в блокноте (Notepad.exe) стояла по умолчанию кодировка ANSI. Сейчас (похоже, после последних обновлений) стоит по умолчанию UTF-8. Как вернуть её к ANSI? Система: Windows 10 Pro.
Был ли этот ответ полезным?
К сожалению, это не помогло.
Отлично! Благодарим за отзыв.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв, он поможет улучшить наш сайт.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв.
4 польз. нашли этот ответ полезным
Был ли этот ответ полезным?
К сожалению, это не помогло.
Отлично! Благодарим за отзыв.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв, он поможет улучшить наш сайт.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв.
Тупо поисковая система не даёт однозначного ответа на этот вопрос. Есть невнятное описание, как сменить ANSI на UTF-8, но в обратную сторону это не работает. То есть вставлен у меня в папку C:\Windows\SHELLNEW файлик ANSI.txt, «сохранён как» в кодировке ANSI, есть ключик реестра HKEY_CLASSES_ROOT/.txt/ShellNew/FileName со значением «ANSI.txt». Но эффект нулевой. В блокноте по-прежнему стоит сохранение в UTF-8.
Был ли этот ответ полезным?
К сожалению, это не помогло.
Отлично! Благодарим за отзыв.
Насколько Вы удовлетворены этим ответом?
Благодарим за отзыв, он поможет улучшить наш сайт.
Как сменить кодировку в Блокноте по умолчанию с ANSI на другую
Рано или поздно любой пользователь Windows сталкивается с проблемой кодировки текста. «Кракозяблики» настигают всех, кто более-менее часто пользуется компьютером. Особенно остро эта задача стоит перед теми, кто не просто пользуется компьютером, а создаёт какой-то осмысленный контекст, например у себя на сайте. Сайт может находиться на удалённом сервере, где кодировка может отличаться от той, которую предлагает Windows по умолчанию.
Очень кратко:
- C:\Windows\ShellNew — создаем пустой текстовый файл, сохраняемым как UTF-8, переименовываем в UTF-8.txt. Он будет шаблоном.
- Заходим в реестр HKEY_CLASSES_ROOT / .txt / ShellNew / — создаем «Строковый параметр»: имя — FileName / значение — UTF-8.txt
Немного лирики о том, почему всё так, а не иначе:
Но и для пользователей, остающихся обычными «пользователями ПК» проблема с кодировками кириллистических символов иногда встаёт довольно остро. «Кракозяблики» — наследие предыдущей эпохи, когда каждый программист писал собственную таблицу кодировок. Например, скачал и хочешь почитать интересную книжку, а тут такое >=O
И так продолжалось до тех пор, пока не начали вводиться стандарты. Но и стандартов на текущее время уже немало. Например, есть кодировка Unicode, есть UTF-8, есть UTF-16 и так далее.
Я так и не нашёл, как сменить кодировку по умолчанию при открытии Блокнота и создания нового документа уже из открытой сессии Блокнота.
Зато нашёл, как сменить кодировку по умолчанию, когда текстовый документ сначала создаётся (из контекстного меню) и только потому открывается Блокнотом. Тогда кодировка файла будет та, которая будет прописана по умолчанию. Об этом и пойдёт ниже речь.
Итак, для того, чтобы поменять кодировку создаваемых текстовых документов по умолчанию, нам понадобиться внести изменения в Реестр Windows.
В данной статье рассмотрен пример для файлов с расширением .txt , а т.к. в Windows программой, открывающей эти файлы по умолчанию является Блокнот, то некоторые считают, что меняют кодировку по умолчанию в самом Блокноте. Но это не так. Меняется кодировка по умолчанию создаваемого файла. Блокнот лишь открывает документ, считывая уже прописанную в нём кодировку. В самом Блокноте прошита кодировка ANSI. И, похоже, это не поменять средствами Реестра Windows.
Как бы Windows не старался насаждать свои стандарты, большинство современных серверов работают на *nix операционных системах потому, что эти системы имеют открытый код и не имеют «корпоративной тайны на семью печатями». То есть, в них можно разобраться самостоятельно: что и как работает. Думаю, и дальше будет такая же тенденция. Все более-менее «продвинутые пользователи ПК» будут использовать программное обеспечение с открытым кодом для работы, и программы «из пакетов» для быстрой обработки данных (чтобы не изобретать велосипедов). На *nix операционных системах на текущий момент кодировкой по умолчанию является кодировка UTF-8 . Её можно без особых заморочек выставить другой, но зачем, если она на большинстве серверов и они нормально друг с другом *nix «общаются»? У меня на сервере тоже стоит UTF-8 и это удобно. Поэтому задача у меня стояла, как сменить кодировку в Блокноте по умолчанию для Windows с ANSI на общепринятую UTF-8 .
Ну и хватит лирики. К делу!
Сперва удостоверимся в том, что в Блокноте стоит по умолчанию кодировка ANSI , для этого достаточно «Сохранить как. » любой документ и увидеть его кодировку:
Что делать, чтобы сменить кодировку в Блокноте по умолчанию с ANSI на другую:
- Открываем Блокнот или создаём новый текстовый документ и потом его открываем в Блокноте
- Меняем кодировку текстового файла
- Сохраняем этот документ (я свой назвал по названию кодировки UTF-8.txt )
- Если не видно расширение файла, то можно его сделать видимым
- Можно сохранить файл и переименовать
- Перемещаем созданный документ в папку C:\Windows\ShellNew (сразу создать текстовый документ в этой папке не получится — защита Windows от внесения изменений в системные папки)
- Если папки нет (что мало вероятно), то её нужно создать и также переместить на место: C:\Windows\ShellNew
- Теперь открываем редактор реестра
- Находим папку HKEY_CLASSES_ROOT / .txt / ShellNew / (она должна быть, если нет, то создаём)
- Создаём строковый параметр:
- С именем FileName
- Со значением UTF-8.txt (имя того файла, который мы создали в п.3 перенесли в папку C:\Windows\ShellNew в п.4)
- Радуемся! Ибо это всё =)
Теперь при создании текстового файла с помощью контекстного меню у него будет та кодировка, которая была нами установлена в файле-образце, лежащем в папке C:\Windows\ShellNew . Проверяем:
Если в файле-образце набрать какой-то текст, то он будет во всех новых файлах, создаваемых с помощью контекстного меню.
Не знаю, где это можно применить, т.к. у меня мало рутины с текстовыми файлами, но это может пригодиться тем, кто работает с шаблонными файлами. Или, например, для создания текстового файла-шаблона для HTML-документов, который можно создать таким же способом. Тогда не нужно будет каждый раз писать структуру , , , и т.д..
Как сменить кодировку текстового файла с помощью Блокнота в Windows
Фишка кодировки текстовых фалов в том, что хранятся не сами буквы (символы), а ссылки на них в таблице кодировок. Если с латинским буквами, арабскими цифрами и основными символами типа точек, тире и запятых никаких проблем не возникает: во многих таблицах кодировок все эти буквы, цифры и символы находятся в одних и тех же ячейках, то с кириллицей всё сложно. Например, в разных кодировках буква Ы может находиться в ячейке 211, 114 и 69.
Именно поэтому на заре интернета чтобы посмотреть разные сайты с разными кодировками приходилось подбирать кодировку. (Но кто это помнит?) Сейчас кодировка страницы обычно прописана в заголовке страницы, что позволяет браузеру «автоматически» подбирать отображение символов на наших мониторах.
То есть сервер отдаёт не просто HTML-страничку, а указывает, что у неё кодировка Windows-1251 . Браузер таким образом, считывая информацию о кодировке полученного файла, подставляет символы из указанной кодировки.
Но и это ещё не всё веселье. Например, если на сервере установлена операционная система из семейства *nix (с кодировкой по умолчанию UTF-8 ), а мы шлём файл из нашей любимой ОС Windows, где кодировка текстовых фалов по умолчанию стоит почему-то ANSI , то как вы думаете сервер будет работать с текстом, кодировка которой не совпадает с его? Правильно! Как-то будет работать! Но результат работы может быть непредсказуемым и удивительным. =)
Надеюсь, что мотивация для обращение необходимого внимания на кодировку достаточная и можно перейти к сути вопроса: «Как же, чёрт возьми, сохранить файл в нужной кодировке?!»
В этой статье речь пойдёт как раз о том, как сохранить текстовый файл с помощью программы Блокнот (Notepad) в Windows в нужной кодировке.
Для того, чтобы изменить кодировку текстового файла, конечно же сперва его нужно создать. А после того, как файл создан, нужно ещё суметь его открыть. Самый простой способ отрыть файл — это двойной клик левой кнопкой мыши по его иконке в проводнике:
Если до этого настройки Windows не менялись, то файлы с расширением .txt открываются в Блокноте. (Это ещё один способ, как отрыть Блокнот (Notepad).)
Чтобы поменять кодировку в открывшемся файле, нужно в меню «Файл» текстового редактора Блокнот выбрать пункт «Сохранить как. »:
Откроется диалоговое окно сохранения файла. Для смены кодировки, нужно выбрать из списка предлагаемых необходимый:
После того, как нужная кодировка выбрана, можно кликнуть на кнопку «Сохранить» или просто нажать Enter:
Так как мы не изменили имя файла, то будет перезаписан тот же самый файл. Поэтому возникает справедливый вопрос: «Файл с таким именем уже существует. Заменить?» Ну да, мы к этому и стремимся! Поменять кодировку у этого файла. Поэтому его нужно перезаписать с новой кодировкой. Соглашаемся:
Всё! Миссия по смене кодировки в текстовом файле выполнена! Файл сохранён с новой кодировкой. Можно закрыть текстовый редактор и устроить празднование этого решающего события! =D