Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Notepad
Показать сообщение отдельно

Аватара для paulgor

Пользователь


Сообщения: 113
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Это известная ситуация, отвечу на все вопросы.

1) Легко протестировать нерусские символы - в Windows (любой) есть утилита Charmap -
Start/Run - впечатать Charmap
или Start/Programs/Accessories - там Charmap

В появившемся окошке выбрать, например, немецкую букву a-умляут - 'a' с двумя точками наверху (как у русской 'ё') и нажать "Copy".
Потом можно в любое место скопировать.


2) Начиная с Windows 2000 (в NT он ещё обычным был) редактор Notepad - 100% юникодовая программа, со всеми вытекающими из этого последствиями:

а) может работать только со следующими 2-мя типами .ТХТ файлов, что видно в его меню File/SaveAs (опция "Кодировка":
* *- Unicode файлы (стандартный или UTF-8)
* * - не-Unicode, "ANSI" файлы

где "ANSI" - это системная кодировка - системная кодовая страница (system code page), то есть, если таковой является "Western, 1252", то Notepad может работать с не-Unicode файлами ТОЛЬКО если они в кодировке 1252 - немецкие, французские, ....
И наоборот - если системная кодировка - "Кириллица, 1251", то с западно-европейскими он НЕ сможет работать...

.
Если, при западно-европейской системной кодировке 1252, *ввести на экране и русские и немецкие буквы, то единственный путь сохранить текст нормально это сохранить его как Unicode-файл.
Иначе, при попытке сохранить как "ANSI", он попытается проделать конверсию
"Unicode ---> системная кодировка Western-1252"
и естественно, все русские буквы заменятся на 'вопросики' -
'?' означает (это и в Help описано)
"Символ не найден в заданной кодировке" - верно, в 1252 русских букв нет.

.
Системная кодировка выбирается под XP в пункте региональных настроек
"язык для НЕюникодовых программ",
а в 2000 то же самое - кнопкой "Set Dеfault".
Подробно описано в разделе
"Системная русификация: русские программы и имена файлов" вот тут:
http://RusWin.net
(то же самое верно и для немецкого)



б) Это и при загрузке файлов - там вообще нет меню выбора Кодировки, то есть либо Notepad определят, что это юникодовоый файл (это легко) либо, если не юникодовый, то подразумеает, что текст в файле - системной кодировки. То есть, если дать русский файл - попортится.

===================

То же самое будет с НЕрусскими текстами в системе, где "Кириллица, 1251" является системной кодовой страницей.

===================

Так что ответ на
> Во-первых Notepad должен уметь читать все кодировки, которые
> можно выбрать в меню шрифт, или?

отрицательный - он вообще никогда кодировок не знал
(прост слишком - просто пока неюникодовым был, НЕ трогал текст, сохранял как есть, то есть, сохранял байт со значением E4, ему не важно было, что это - русская 'д' из 1251 или а-умляут из 1252. Какой шрифт выберешь, то и покажет),
а под Windows 2000/XP умеет работать только с двумя кодировками - Unicode и системная (system code page).

.
Подробнее на тему .TXT и юникодовых программ можно почитать в *разделе про .TXT -
см. Главу 2 раздела
"Кириллица и Unicode" на моём сайте
Инструкции: русский под Windows и в Интернете

.

Выход? Очень простой - не использовать Notepad!
Многие (и я) его и раньше, под Windows 95/98/NT не использовали - уж очень примитивен, прост.
На shareware.com, tucows.com, freeware.ru ПОЛНЫМ-ПОЛНО "заменителей Блокнота", выбирай на любой вкус.

Я, например, использую не-юникодовый UltraEdit - хочешь, немецкий текст вводи (выбрав рабочий шрифт кодировки "Western", а для другого файла - русский, выбрав "Courier New", SCript=Cyrillic.

Если же надо в одном файле и русские и немецкие буквы иметь, то файл ДОЛЖЕН быть в кодировке Unicode, другого варианта нет.
Подробнее на эту тему - немецкий и русский в одном простом текстовом файле (.TXT, .HTML, .XML, .JSP - все они простые текстовые) - в разделе
"Для разработчиков: многоязычный HTML" моего сайта.

.

--
Павел
Русская Виртуальная Клавиатура: http://Klava.RusWin.net

.



[s]Исправлено: paulgor, 0:56 18-09-2004[/s]

-------
Хобби: кириллица вне СНГ на компьютерах и в Интернете

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:50, 19-05-2004 | #12

Название темы: Notepad