Как сменить кодировку в Блокноте по умолчанию с ANSI на другую
Как сменить кодировку в Блокноте по умолчанию с ANSI на другую


«Кракозяблики» в Windows

Рано или поздно любой пользователь Windows сталкивается с проблемой кодировки текста. «Кракозяблики» настигают всех, кто более-менее часто пользуется компьютером. Особенно остро эта задача стоит перед теми, кто не просто пользуется компьютером, а создаёт какой-то осмысленный контекст, например у себя на сайте. Сайт может находиться на удалённом сервере, где кодировка может отличаться от той, которую предлагает Windows по умолчанию.

Очень кратко:

  1. C:\Windows\ShellNew — создаем пустой текстовый файл, сохраняемым как UTF-8, переименовываем в UTF-8.txt. Он будет шаблоном.
  2. Заходим в реестр 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

Что делать, чтобы сменить кодировку в Блокноте по умолчанию с ANSI на другую:

  1. Открываем Блокнот или создаём новый текстовый документ и потом его открываем в Блокноте
  2. Меняем кодировку текстового файла
  3. Сохраняем этот документ (я свой назвал по названию кодировки UTF-8.txt)
    1. Если не видно расширение файла, то можно его сделать видимым
    2. Можно сохранить файл и переименовать
  4. Перемещаем созданный документ в папку C:\Windows\ShellNew (сразу создать текстовый документ в этой папке не получится - защита Windows от внесения изменений в системные папки)
    1. Если папки нет (что мало вероятно), то её нужно создать и также переместить на место: C:\Windows\ShellNew
  5. Теперь открываем редактор реестра
  6. Находим папку HKEY_CLASSES_ROOT / .txt / ShellNew / (она должна быть, если нет, то создаём)
  7. Создаём строковый параметр:
    1. С именем FileName
    2. Со значением UTF-8.txt (имя того файла, который мы создали в п.3 перенесли в папку C:\Windows\ShellNew в п.4)
  8. Радуемся! Ибо это всё =)

Теперь при создании текстового файла с помощью контекстного меню у него будет та кодировка, которая была нами установлена в файле-образце, лежащем в папке C:\Windows\ShellNew. Проверяем:

при создании текстового файла с помощью контекстного меню у него будет та кодировка, которая была нами установлена в файле-образце

Всё работает! =)

Кстати!

Если в файле-образце набрать какой-то текст, то он будет во всех новых файлах, создаваемых с помощью контекстного меню.

Не знаю, где это можно применить, т.к. у меня мало рутины с текстовыми файлами, но это может пригодиться тем, кто работает с шаблонными файлами. Или, например, для создания текстового файла-шаблона для HTML-документов, который можно создать таким же способом. Тогда не нужно будет каждый раз писать структуру <head><title>, <meta>, <body> и т.д..

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню