PDA

Показать полную графическую версию : Проблемы с Юникодом


salimjan22
28-04-2009, 18:30
На аппарате стоит инглиш ХР с русским МУИ. Но при каждой смене юникода "инглиш <--> русский" винда постоянно требует вставить загрузочный диск и скопировать с него файлы примерно такие APP866.FO_
Раньше тоже так было, но файл запрашивал ровно один раз после установки системы, а затем никогда больше не просил.
Что я неправильно сделал в этот раз?
Поможите сведующие!!!

Vadikan
28-04-2009, 22:28
Но при каждой смене юникода "инглиш <--> русский" »
Вы имеете в виду кодовую страницу? А зачем вы ее меняете - у вас англоязычные приложения некорректно работают с русской кодовой страницей?

Возможно, дистрибутив был обработан nLite - из него были вырезаны файлы. Искомые файлы имеются в папке Fonts ( APP866.FON)?

Admiral
29-04-2009, 03:50
Vadikan,
Западному пользователю что б видеть кириллицу в приложениях, например он захотел выучить один из языков который построены на её основе, приходится выставлять желаемый язык отображения для не юникод программ, а для юникод задавать соответственное расположение?
Откуда это всё, предлагая решение на тему Программирование>>Кирилица в консоли (http://forum.oszone.net/thread-129824.html), проверяя её на Севен, я заметил такую зависимость. При развёртывания по умолчанию локация и желаемо отображение указанно USA и English соответственно.
Перепроверил со скрином (http://www.oszone.net/user_img/Blast/sshot-25.png) этой статьи (http://www.oszone.net/8630/Windows_7_Beta_1), где я так понял всё по дефолту кроме имени пользователя.

Vadikan
29-04-2009, 11:11
Admiral, я не очень понял вопрос и терминологию... поэтому отвечу общей информацией.

Устанавливать язык для не-юникодных программ (далее ЯЮ) нужно для корректного отображения их элементов интерфейса. При этом ПО на англ. языке должно работать без проблем с русским ЯЮ. Конечно, я не рассматриваю исключения, например, когда программа проверяет, какой ЯЮ используется.

Все остальные языковые настройки не зависят от того, какой ЯЮ выбран. Вы можете использовать расположение США наряду с русским ЯЮ (и наоборот).

При установке, насколько я помню, для русской (локализованной) ОС устанавливается русский ЯЮ.

Admiral
29-04-2009, 13:24
Vadikan если программа полностью использует в Юникод кодировке кириллические символы, то проблем их корректного отображение не должно быть, даже если у конечного пользователя расположение (Regional Settings) выбрано English?
Если не Юникод, то как повезёт. То есть символы могут отображаться, но если где не корректно, то нужно выставлять соответственный ЯЮ? Например, как в случаи с AVP6 (http://forum.oszone.net/post-1018450.html#post1018450), предполагаю что он использует ANSI.
Так и есть, локализированная русская версия ОС Windows выбирает русский ЯЮ.
[hr]
Более чем 6 месяцев спустя:
Нужно было просто перечитать статью и всё станет на свои места.
SystemLocale
http://www.oszone.net/user_img/050214130343/system_locale.png
Разрешает программам, не использующим кодировку Юникод (Unicode), выполнять работу, выводить меню и диалоговые окна с использованием локализованных языковых символов. Если в локализованной программе некорректно отображаются языковые символы, настройка языка системы по умолчанию с целью обеспечить соответствие языку локализованной программы может разрешить проблему. Однако данная настройка является системной, поэтому невозможно одновременно поддерживать версии локализованных программ, не использующих Юникод, на нескольких языках. Значения параметров должны соответствовать списку Locale IDs.
>> (http://www.oszone.net/3480#regionalsettings)
Для индивидуальной настройки программ, вероятно подойдёт The Microsoft AppLocale Utility (http://www.microsoft.com/globaldev/tools/apploc.mspx) »
На графические Юникод программы данная настройка не влияет (чего не скажешь про консольные, так что тема Программирование>>Кирилица в консоли (http://forum.oszone.net/thread-129824.html) весьма актуальна, даже для Юникодовых), с той лишь оговоркой что, если в программе осуществляется сохранение тестовых данных, они должны быть сохранены в Юникод файл, иначе будут ?? вместо кириллического, если последний не указан в настройки на скрине выше.
http://s52.radikal.ru/i135/0911/8c/a818799c3984x.jpg (http://s52.radikal.ru/i135/0911/8c/a818799c3984.png)
Скриншот одной из ранних версий MultiBoot, которая является Юникодовой.
Вот про то как добиться приведённой на скрине независимости и был мой изначальный вопрос в этой теме.
Спасибо за статью!




© OSzone.net 2001-2012