Как выбрать русский язык для неюникодных программ

Может быть, эта тема не достаточно актуальна для форума, но мне она важна. Я использую операционную систему Vista 64, немецкий вариант. Так мне удобно, поскольку живу в Германии. При переходе к русскому Language получаю и на платформе и в MetaEditor иероглифы вместо русских букв, несмотря на то, что русский шрифт в систему интегрирован (сейчас, например, печатаю русским текстом).

При переходе к Systemsteuerung/Regions- und Sprachoptionen/Verwaltung/Systemgebietsschema ändern. /Russisch (Russische Föderation (по-русски, вроде, так — Управление системой/Выбор региона и языка/Управление/Изменить схему области системы. /Русский (Российская Федерация) возникает проблема — некорректное представление особых немецких знаков (ö, ä, ü, ß), что вносит существенный дискомфорт в работу на компьютере. Поэтому от этого варианта я отказался.

Решил проблему с помощью стандартной программки Microsoft AppLocate. Ничего, жить, как говорится, можно, но тоже не решение беды. Может быть, есть какое-то более изящное решение проблемы? Должна же MT4 иметь кодировку UTF-8 или UTF-16. Просмотрел весь форум, проблема поднималась как-то, но положительных результатов нет.

Как установить русский язык Windows 10 для интерфейса, ввода и приложений

  • Система 20 пунктов
  • Задачка для программистов
  • Элитные показатели 🙂

Модератор
7171
Slava 2009.05.15 14:53 #1

К сожалению, клиентский терминал MT4 не является юникодным. Единственным решением в этом случае может быть настройка региональных установок.

В панели управления выбрать региональные настройки. В административной вкладке выбрать русский язык для неюникодных программ.

foxmag 2009.05.15 15:03 #2
stringo писал(а) >>

К сожалению, клиентский терминал MT4 не является юникодным. Единственным решением в этом случае может быть настройка региональных установок.

В панели управления выбрать региональные настройки. В административной вкладке выбрать русский язык для неюникодных программ.

Спасибо за быстрый ответ. А предусмотрен ли «юникодизм» в МТ5?

Источник: www.mql5.com

Как выбрать русский язык для неюникодных программ

  • Личный сайт Новикова Максима Глебовича
  • Последние записи
  • Архив
  • Друзья
  • Профиль

Дневник злостного критика-рецидивиста — жуткого зануды
Слесарь, электрик, программист.

  • Теги
  • /QR-кодadobe premierecellulailereclipseiconbit nettab thorjavakotlinlinuxmccullochribbon xml editorribbonxmleditorscintillatable2htmltelegramwhatsappwi-fiЁлочкаАвтомобильАндроидАномалияАфераБелкаБилайнБрейвикВДНХВалежникВеснаВидеоурокиВиноградовВнуковоВоротаВыборыГазГайдпаркГрафеновая лампочкаГрунтДачаДельфиЖивотное колесоЗаборИнструкцииКалибриллаКолесникКолодецКультураКурскЛампыЛесЛинуксМАКС авиасалонНаукаО_компьютере_начинающимОбъективыОпросОцифровкаПенсияПланшетПодъездПолитехнический музейПолитикаПрограммированиеПустельгаПылесосРаботаРаритетыРеновацияРисункиРоссияСМИСарайСарай_catsloverСбербанкСканерыСклоны тоннеляСколковоТеле2ТерминологияТипографикаУточкиФобос-ГрунтФотоФотовыставкаХолодильникЧайкиЭкономикаЭлектричествобардакводосчётчикизвуккомпьютерыподсветка синтаксисареальностьрелигиясалютсмартфоныфейерверк

Кракозябры и знаки вопроса или неверная кодировка

Установка русского языка интерфейса Windows 10

Да-да. Как это ни печально, в эру UNICODE у меня снова встал
вопрос с кракозябрами или знаками вопроса вместо русских букв.

Обнаружилось, что все мои программы с русскоязычным интерфейсрм, написанные на Delphi 7, при отображении их в англоязычных операционных системах вместо русских букв отображают знаки вопроса. Скажу сразу, перевод проектов под UNICODE-совместимую версию Дельфи (2009 или 2010) практически не представляется возможным, поскольку в этих проектах использованы компоненты, не имеющие новых UNICODE-совместимых версий (поддержка компонентов авторами больше не осуществляется).

Странно не то, что интерфейс программ не отображает русских букв, а то, что вместо ожидаемых кракозябр отображаются знаки вопроса. Кракозябры — это не что иное, как символы текущей кодировки, имеющие коды, совпадающие с кодами русских букв в русской кодировке, и их появление вполне ожидаемо. Знаки вопроса же обычно возникают в том случае, когда система не может сопоставить использованный национальный символ UNICODE (например, русскую букву из UNICODE) с символом текущей кодировки (например, 1252, где похожих символов просто нет). Но у меня Юникодом и не пахнет нигде, у меня в интерфейсе изначально идёт кодировка 1251, которая в англоязычной кодировке 1252 должна отображаться кракозябрами! Очевидно, где-то в операционной системе происходит двойное преобразование по цепочке 1251 — UNICODE — 1252.

Читайте также:
Программы похожие на bluestacks

Операционная система Windows XP, Windows Vista и Windows 7 имеют специальную настройку локалей. Располагается она на Панели Управления, и называется «Язык и национальные стандарты». Там, на последней вкладке (вкладка «Дополнительно») можно выбрать язык для программ, не поддерживающих Юникод. По идее, после установки там русского языка, программа должна отображать русские буквы правильно.

На деле же происходит отображение русских букв только в шапке программы и в компонентах ColorBox. Во всех остальных компонентах интерфейса остаются знаки вопроса.

Удивительно, но проблему решает совершенно другая настройка, а именно «Региональные параметры» (первая вкладка окна «Язык и региональные параметры»). Вообще-то эта вкладка отвечает за форматы выводимых чисел, денежных единиц, даты и времени, и какое отношение она имеет к кодировкам — непонятно. Тем не менее, если установить на ней значение «Русский (Россия)», знаки вопроса пропадают, и система начинает вести себя так, как положено, то есть интерфейс программы начинает отображать либо кракозябры, либо русские буквы в зависимости от настройки локали на вкладке «Дополнительно».

Вот такие результаты дают разные комбинации этих двух настроек в любой версии операционной системе Windows, начиная с версии Windows XP:

Формат: США
Локаль: США
Результат: Везде знаки вопроса

Формат: США
Локаль: Россия
Результат: Везде знаки вопроса, кроме шапки и колорбоксов, в которых отображаются русские символы

Формат: Россия
Локаль: США
Результат: Везде «кракозябры»

Формат: Россия
Локаль: Россия
Результат: Всё ОК!

  1. Почему на англоязычных компьютерах в интерфейсе русскоязычных программ, использующих однобайтовую кодировку, вместо кракозябр возникают знаки вопроса? Появляются ли они из-за возникновения цепочки преобразований 1251 — UNICODE — 1252, и если да, то почему, и как этого избежать?
  2. Почему при переключении локали на последней вкладке, знаки вопроса превращаются в русские символы только в шапке программы и в компоненте ColorBox? В чём разница между этими и всеми остальным компонентами?
  3. Почему на появление знаков вопроса влияет первая вкладка, отвечающая за формат выводимых чисел и дат? Можно ли решить вопрос, оставив формат отображения чисел и дат англоязычным, без нудной подгонки русского формата под англоязычный в дополнительных настройках?

P.S.: Я выявил все форматы, при которых кириллица отображается нормально:

Азербайджанский (кириллица)
Амхарский (Эфиопия)
Армянский (Армения)
Ассамский (Индия)
Башкирский (Россия)
Белорусский (Беларусь)
Бенгальский (Бангладеш)
Бенгальский (Индия)
Болгарский (Болгария)
Боснийский (кириллица)
Грузинский (Грузия)
Гуджарати (Индия)
Дивихай (Мальдивы)
Инуктитут (слоговое письмо, Канада)
Казахский (Казахстан)
Каннада (Индия)
Киргизский (Киргизстан)
Конкани (Индия)
Кхмерский (Комбоджа)
Лаосский (ЛНДР)
Македонский (БЮР Македония)
Малаялам (Индия)
Мальтийский (Мальта)
Маори (Новая Зеландия)
Маратхи (Индия)
Монгольский (традиционный монгольский, КНР)
Монгольский (кириллица, Монголия)
Непальский (Непал)
Ория (Индия)
Панджаби (Индия)
Пашто (Афганистан)
Русский (Россия)
Санскрит (Индия)
Сербский (кириллица)
Сингальский (Шри-Ланка)
Сирийский (Сирия)
Таджикский (кириллица, Таджикистан)
Тамильский (Индия)
Татарский (Россия)
Телугу (Индия)
Тибетский (КНР)
Узбекский (кириллица, Узбекистан)
Украинский (Украина)
Хинди (Индия)
Юи (КНР)
Якутский (Россия)

Во всех остальных форматах, коих намного больше, возникают знаки вопроса. Отсюда дополнительный вопрос, что общего с точки зрения настроек операционной системы между всеми этими языками?

Кстати, 4 формата дали ещё один интересный результат:

Китайский (упрощённое письмо, КНР) и Китайский (упрощённое письмо, Сингапур) дали знаки параграфа §, чередующиеся с символами кириллицы.
Корейский (Корея) дал знаки ¬ чередующиеся с символами кириллицы.
Японский (Япония) дали знаки ˷ чередующиеся с символами кириллицы.

Читайте также:
Какая программа стоит на кассе

Так что вот дополнительная пища для размышлений.

Источник: novikovmaxim.livejournal.com

Текущий язык программ не поддерживающих юникод

Как исправить отображение кириллицы или кракозябры в Windows 10

Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 — кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.

В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: Как установить и включить русский язык интерфейса в Windows 10 (для систем на английском и других языках).

Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10

Самый простой и чаще всего работающий способ убрать кракозябры и вернуть русские буквы в Windows 10 — исправить некоторые неправильные настройки в параметрах системы.

Для этого потребуется выполнить следующие шаги (примечание: привожу также названия нужных пунктов на английском, так как иногда необходимость исправить кириллицу возникает в англоязычных версиях системы без нужды менять язык интерфейса).

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

Как исправить иероглифы Windows 10 путем изменения кодовых страниц

Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.

С помощью редактора реестра

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

Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls.

Путем подмена файла кодовой страницы на c_1251.nls

Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C: Windows System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).

После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.

Решение проблем с кодировкой в Windows XP/Vista/7

На днях у меня тоже случилась подобная вещь. В некоторых русифицированных программах часть надписей интерфейса стала выглядеть так, как будто вместо букв туда вставили отпечатки лап птиц:

Скажу честно — я потратил на поиск решения проблемы почти два дня. На всех форумах и сервисах «вопросов и ответов», во всех мануалах и инструкциях, все как один повторяли тот-же рецепт решения, который возможно кому-то и помог. Но не мне. И только когда мои мозги уже начали закипать и всякая надежда на решения проблемы покинула меня, все стало на свои места.

Читайте также:
Написать программу которая по дню недели

Результаты же поисков я решил оформить в «Универсальное руководство по решению всех проблем с кодировкой в операционных системах Windows XP и Windows Vista/7». Хотя возможно оно не так уже и универсально…

Решение проблем с кодировкой в Windows XP

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

Открываем «Панель управления» и дважды кликаем по иконке «Язык и региональные стандарты». Переходим во вкладку «Дополнительно» и устанавливаем русский язык в качестве «Языка программ, не поддерживающих Юникод».

После этого найдите в списке, который размещен на этой-же вкладке пункт 20880 и поставте возле него галочку:

Сохраните изменения и перезагрузите компьютер. Если проблема не исчезла переходим к пункту 2.

2. Возможно, что проблемы с кодировкой вызваны нарушением системных настроек шрифтов.

Для восстановления настроек шрифтов скачайте этот архив и запустите файл который находится в нем игнорируя все предупреждения системы:

Перезапустите систему. Если проблема не исчезла переходим к пункту 3.

3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.

Для выполнения этих изменений скачайте этот архив и запустите файл находящийся в нем. Как и в предыдущем пункте появятся предупреждения системы.

После этих изменений также нужно будет перезапустить систему.

Решение проблем с кодировкой в Windows Vista/7

1. Как и в случае с Windows XP сначала убедитесь что для программ не поддерживающих Юникод установлен русский язык.

Открываем «Панель управления» и дважды кликаем по иконке «Язык и региональные стандарты». Переходим во вкладку «Дополнительно» и устанавливаем русский язык в качестве «Языка программ, не поддерживающих Юникод»:

Сохраните изменения и перезагрузите компьютер. Если проблема не исчезла переходим к пункту 2.

2. Для восстановления настроек шрифтов скачайте этот архив и запустите файл который находится в нем игнорируя все предупреждения системы:

Перезапустите систему. Если проблема не исчезла переходим к пункту 3.

3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.

Для выполнения этих изменений скачайте этот архив и запустите файл находящийся в нем. Как и в предыдущем пункте появятся предупреждения системы.

После этих изменений также нужно будет перезапустить систему.

4. Если все вышеуказанное не помогло нужно поменять имена следующих файлов кодовых страниц в папке C:WindowsSystem32:

Файл «c_1252.nls» на «c_1252.nls.bak»
Файл «c_1253.nls» на «c_1253.nls.bak»
Файл «c_1254.nls» на «c_1254.nls.bak»
Файл «c_1255.nls» на «c_1255.nls.bak»

Поскольку эти файлы защищены от изменения для выполнения этой операции желательно воспользоваться замечательной программой Unlocker. После ее установки нужно кликнуть правой кнопкой мыши по нужному файлу, и выбрать пункт «Unlocker». В открывшемся окне выберите в выпадающем списке «Переименовать». Измените имя файла и нажмите кнопку «OK»:

После переименования вышеуказанных файлов скопируйте файл «c_1251.nls» в какую-то другую папку (или скопируйте в буфер обмена), а затем переименуйте его на «c_1252.nls». Вновь вставьте (скопируйте) файл «c_1251.nls» в папку C:WindowsSystem32 и переименуйте на «c_1253.nls», а затем повторите это еще два раза с переименованием в «c_1254.nls» и «c_1255.nls».

В результате выполнения этого пункта, файлы «c_1252.nls», «c_1253.nls», «c_1254.nls», «c_1255.nls» будут заменены файлом «c_1251.nls». Не забудьте также вернуть в первоначальную папку файл «c_1251.nls»:

Вот такая вот инструкция получилась. Если что не ясно — спрашиваете в комментариях. Возможно я (или другие читатели) помогут в решении вашей проблемы.

Источник: obuchim24.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru