Можно ли установить "локаль" приложения 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, не могли быть заданы в качестве локали.
Однако есть "Бета: использовать Unicode UTF-8 для поддержки языковой поддержки во всем мире", поскольку Windows 10 посвященная сборка 17035 для установки кодовой страницы локали в UTF-8
Смотрите также
- Изменение ANSI и OEM кодовой страницы в Windows
- Windows 10 Insider Preview Build 17035 поддерживает UTF-8 в качестве ANSI
Тем не менее, поддержка все еще глючит на данный момент
- Проблема зависания в Windows 10 1803 при использовании UTF-8 в качестве кодовой страницы по умолчанию
- при включенной поддержке бета-версии Unicode в Windows 10 не удается установить надстройки
- Поддержка UTF-8 для однобайтовых наборов символов является бета-версией в Windows и, вероятно, ломает множество приложений, не ожидающих этого
- Ошибка сборки с внутренней ошибкой в MSVC
Просто упомянуть об этом здесь: В Windows 10 17133 теперь доступна бета-версия для использования UTF-8 для всемирной поддержки. Но это не помогает с программами без Unicode для меня на данный момент, но это помещено во всплывающее окно, где я могу изменить локаль для программ без Unicode.
Так что, может быть, они работают над чем-то, чтобы покончить с необходимостью изменить локаль для не-Unicode-программ.