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

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

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

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

2 ответа

Решение

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

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

Ранее это было невозможно, потому что

Microsoft заявила, что локаль UTF-8 может нарушать некоторые функции (возможный пример: _mbsrev) поскольку они были написаны так, чтобы предполагать, что многобайтовые кодировки используют не более 2 байтов на символ, таким образом, до сих пор кодовые страницы с большим количеством байтов, такие как GB 18030 (cp54936) и UTF-8, не могли быть заданы в качестве локали.

https://en.wikipedia.org/wiki/Unicode_in_Microsoft_Windows

Однако есть "Бета: использовать Unicode UTF-8 для поддержки языковой поддержки во всем мире", поскольку Windows 10 посвященная сборка 17035 для установки кодовой страницы локали в UTF-8

Смотрите также

Тем не менее, поддержка все еще глючит на данный момент

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

Так что, может быть, они работают над чем-то, чтобы покончить с необходимостью изменить локаль для не-Unicode-программ.

Другие вопросы по тегам