Можно ли установить «локаль» приложения Windows в UTF-8?

1468
Komeiji Kuroko

Мы знаем, что здесь есть приложение под названием Applocale, которое может изменить кодовую страницу приложения, не поддерживающего Юникод, для решения проблем с отображением текста.

Но есть программа, которая справа отображает кодовую страницу UTF-8, что означает, что ее текст должен отображаться как UTF-8, но он отображается как собственная кодовая страница и становится нечитаемым кодом. Это кажется смешным, потому что там почти все страны и регионы, но без UTF-8. Я думаю, что это ошибка, потому что программисты могут использовать английский язык и игнорировать тестирование неанглийского отображения текста. Я не думаю, что продюсер исправит это, и я хочу исправить это сам.

Можно ли настроить вывод не-Unicode как UTF-8 с помощью программного обеспечения, такого как Applocale? По умолчанию не-Unicode вывод является родной кодовой страницей? Как я могу установить нативную кодовую страницу в UTF-8?

1

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

0
miroxlav

Из того, что я читал об инструменте Microsoft AppLocale в Википедии, этот инструмент НЕ может изменить вашу кодовую страницу на UTF-8. Он работает только с приложениями не-Unicode, но UTF-8 является частью стандарта Unicode.

Под капотом обработка Unicode символов, не относящихся к ASCII, значительно отличается от не-Unicode, поэтому, хотя можно переключаться между кодовыми страницами, не относящимися к Unicode (это то, что делает AppLocale), НЕЛЬЗЯ переключаться между Unicode и не-Unicode. Unicode без модификации приложения, сделанного его производителем.

Я знаю, что AppLocale не может работать с приложениями не-Unicode. Но я не думаю, что это нужно конвертировать кодировать. Единственное, что нужно сделать, это дать правильное отображение текстового содержимого. Двоичные данные - это уже правильный текст UTF-8. Например, если вы печатаетеf () массив символов, который содержит каждый байт текста UTF-8, и он будет отображаться как собственный код (например, iso-8859-1). Если по умолчанию используется кодировка UTF-8, то проблема решена. Komeiji Kuroko 8 лет назад 0
@KomeijiKuroko - пожалуйста, если хотите, можете ли вы проиллюстрировать, что вы имеете в виду в своем недавнем комментарии к какому-то конкретному примеру UTF-8? miroxlav 8 лет назад 0
0
anthropos

Просто упомянуть об этом здесь: В Windows 10 17133 теперь доступна бета-версия для использования UTF-8 для всемирной поддержки. Но это не помогает с программами без Unicode для меня на данный момент, но это помещено во всплывающее окно, где я могу изменить локаль для программ без Unicode.

Поэтому, возможно, они работают над чем-то, чтобы покончить с необходимостью изменить локаль для программ, не поддерживающих Юникод.