Форум » » [РЕШЕНО] на Х-панели вместо кириллицы - иероглифы (CORE3 Standart Theme) » Ответить

[РЕШЕНО] на Х-панели вместо кириллицы - иероглифы (CORE3 Standart Theme)

marin_n: Доброго дня. Вывожу на Х-панель русский текст, но вместо букв вижу иероглифы. Тема Standart Theme Crestron. Как лечить? Решено: помогла вставка модуля кодирования ASCII-UTF-16. Шрифт Arial (не UNICODE) ссылка на файл

Ответов - 55, стр: 1 2 3 All

yanovik: На CTI-P 201 Core System Programming это не изучают. Контроллер PRO2 UTF15 нельзя выбрать. коды букв в соседней теме, загвоздка в том что надо вводить и цифры и буквы, а мне доподлинно неизвестно ввел ли пользователь 1 или "а" тк в контролле приходит одинаковый символ \x31

Вячеслав: Наверное все таки 1 это \x31 или "б" 0x0431. Дебагер тот еще обманщик. Бывали случаи когда в дебагере видно что отправляешь к примеру \x04\x31 и он отображается крокозябрами, а пропустив через двойное преобразование UTF-ASCII-ASCII-UTF в дебагере все та же строка \x04\x31 но отображает верно буковку "б" Опять таки видишь сроку ("аб") в utf \x04\x30\x04\x31, а пытаешься её разобрать функцией byte, а она видит только каждый четный байт только и кодовую страницу 04 не удается заполучить, чтоб конвертор написать. Опять таки пляски с настройками. Отображение кириллицы всегда некоторые танцы с бубном. Зависит от серии процессора элемента программы и устройства отображения. И на эту тему на форуме много интересной инфы. Пора создавать пособие справочное на эту тему по каждому конкретному варианту вывода или ввода (в вашем случае), в котором указано, какие методы, модули, порядок преобразования нужно выполнить. Слишком много мест где можно менять параметры представления, чтоб потом составить правильную комбинацию.

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


yanovik: Поле text input использует встроенную клавиатуру ipad, пк, веб интерфейс, android

Nescafe: А вот такой вопрос - русские символы выводятся как: слово "проверка" - "?@>25@:0" как быть в такой ситуации? модули utf-ascii результата не дают. Онлайн декодер говорит что это 7-bit ASCII. и преобразует вот так 7-bit ASCII → KOI8-U + KOI8-R → ISO-8859-5 как вывести правильно на панель? )

Вячеслав: Nescafe пишет: как вывести правильно на панель? На какую панель? ipad, xpanel, прочее Какая серия процессора? Из какого элемента программы это текст приходит? Модуль ASCIItoUTF16cyr пробовали? click here

Nescafe: Вячеслав Да, пробовал, эффекта нет, так и остается, в том же виде. Проц DMPS 300C, (3 серия судя по всему) Для ipad, xpanel, и то и то SmartGraphics.

Вячеслав: А какой элемент программы этот текст генерит?

Nescafe: Модуль Fusion Room.

Вячеслав: А в дебагере эта строка как выглядит?

Nescafe: Точно так и выглядит. И после конвертера тоже так же.

Вячеслав: Все таки в HEX представлении хотелось посмотреть. Если там реально 7битная ASCII то там изначально никаких русских букв быть не может. Русские символы появились в расширенной 8битной ASCII И должно быть для "проверка" вот такая строка на выходе модуля Fusion: \xEF\xF0\xEE\xE2\xE5\xF0\xEA\xE0 А если там символы не старше 7F (127) то это латиница изначально и конвертер её не преобразовывает, а пропускает как есть. Но есть возможность закостылить так сказать, учитывая что смешение символов соблюдается и равно постоянной 176. Т.o. можно немного поправив модуль получить желаемый результат. Качать тут Проверять времени нет сегодня, сори. Но помните, это костыль и на латинские символы не рассчитывайте, только русские (прописные) + цифры.

Nescafe: Вот такая строка выходит \x3F\x40\x3E\x32\x35\x40\x3A\x30

Вячеслав: Что и требовалось доказать. Тогда модуль-костыль вам в помощь (см. ссылку предыдущий пост). Не заработает, поправим.

Nescafe: Слово "совещание" выводит как "со25щ0н85"

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

Nescafe: Вячеслав Большими буквами все выводится отлично. Теперь бы решить с маленькими - и будет совсем отлично! "совещание" заглавными буквами выглядит вот так \x21\x1E\x12\x15\x29\x10\x1D\x18\x15

Вячеслав: А цифры то как выводит?

Nescafe: Вячеслав "СОВЕЩАНИЕ 1234567890" - "СОВЕЩАНИЕР1234567890" - \x21\x1E\x12\x15\x29\x10\x1D\x18\x15\x20\x31\x32\x33\x34\x35\x36\x37\x38\x39\x30

Вячеслав: По сути в данном случае та же проблема, что при попытке ввода текста из TEXT ENTRY - потеря старшего байта содержащего номер кодовой страницы \x40 И как тут красиво выйти из положения, пока не вижу вариантов. Если рассматривать как unicod то потеряем цифры напрочь. Так хотя бы в жертву 1 буква "Р" или "пробел" (на выбор). И конечно все строчные кириллические. Можно добавить параметры: строчные, прописные и пробелы,прописные и цифры. Но не все сразу, а это вряд ли допустимо в проекте. Может трублю что то подскажут, как заставить 2 серию выдавать UNICODE полностью или уж CP1251. А может старожилы подскажут где можно поправить кодовую страничку на PRO2. У Вас прошивка последняя на PRO2 ???? Да и остальной софт то давно обновляли? Ведь не было с 2 серией проблем раньше. Конвертер решал всё. И это с прошивкой 3 летней давности.



полная версия страницы