Почему [ALT + 224] возвращает Ó вместо альфы?

44706
irikkkkk

Я на WIN 7. Я обнаружил, что Windows использует ANSI, а не ASCII. Поэтому, когда я набираю ALT+, 224я получаю α вместо α. Чтобы получить α, мне нужно вручную копировать его из карты символов Windows каждый раз, когда я хочу его использовать. Как вы можете себе представить, это становится очень утомительным, когда я пытаюсь набрать на чердаке греческий. Нет ли комбинации для ввода? Если нет, есть ли какое-то решение для этого?

6
Вы хотите печатать на греческом? soandos 11 лет назад 0
Я использую Windows, и я получаю α. cutrightjm 11 лет назад 0
Вы используете WIN7? Я мог бы быть другим на Vista или XP. irikkkkk 11 лет назад 0
@irikkkkk, какую ОС вы используете? soandos 11 лет назад 0
@soandros, windows 7 irikkkkk 11 лет назад 0

2 ответа на вопрос

6
Dennis

Как вы уже обнаружили, символы, возникающие из кодов символов, находятся между 0и 255полностью зависят от используемой кодировки.

Windows не использует ни расширенный ASCII, ни ANSI (обычно Windows-1252); это на самом деле зависит от приложения.

Например, Alt+ ( 2, 2, 4) дает на моей машине:

  • α в блокноте и в командной строке.

  • àв омнибоксе Google Chrome, но αв его консоли и в этой самой текстовой области.

  • В Notepad ++, aс ANSI, αс UTF-8.

Для более последовательного поведения просто используйте коды символов Unicode :

Комбинация клавиш Alt+ ( 9, 4, 5) - или Alt+ ( +, 3, B, 1), если вы установите ключ реестра, HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpadчтобы 1- должен привести к αв каждом приложении, которое поддерживает этот символ.

К сожалению, это не так:

  • Десятичный код символа приводит к появлению в адресной строке IE, а шестнадцатеричный - только звуковой сигнал.

  • Десятичный код символа приводит к появлению Notepad ++ с ANSI и ¦с UTF-8.

  • Шестнадцатеричный код символа приводит к aпоявлению Notepad ++ с ANSI и αс UTF-8.

Резюме

  1. Установите HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpadв 1.

  2. Используйте Alt+ ( 9, 4, 5) или Alt+ ( +, 3, B, 1) в приложениях с полной поддержкой Unicode.

  3. Вернитесь к методам проб и ошибок в приложениях, в которых отсутствует полная поддержка Unicode.

Вы пытались использовать префикс `0`? То есть. `ALT-0224` дает` à` последовательно (здесь), но `ALT-224` дает` Ó` (позиция 224 на кодовой странице DOS-Западная Европа). [У меня не установлена ​​шестнадцатеричная запись.] Насколько я понимаю, нулевой префикс заставляет интерпретацию как кодовую точку Unicode. Richard 11 лет назад 0
`0` используется для обозначения символа Unicode, когда код символа неоднозначен, что необходимо только между` 0` и `255` с нашими кодовыми страницами (хотя` 0` - `127` будет ** всегда ** ASCII). `[Alt] - 0945` приведет к` ± `: так как` 0` здесь неуместен, приложение возвращается к не-Unicode и переносится в `256` (т.е.` 256` конгруэнтно к `0 `,` 257` до `2` и т. Д.). `±` код символа `177`, где` 945 = 3 * 256 + 177`. Dennis 11 лет назад 1
0
Chris

Я нашел решение, которое сработало для меня.

Первоначально «Текущий язык для программ, не поддерживающих Юникод» был установлен на «Английский (Великобритания)» на компьютере в Region → Administrative settings; однако, когда я изменил его на «английский (США)» и перезагрузил компьютер.

Я наконец начал получать «α», когда я нажал Alt 224. Больше нет «Ó». Я приложил изображение местоположения настроек.

Исправлена ​​проблема с Alt 224