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

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

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

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

p.vladi: Standard theme international и модуль CP-1251 > UTF-16 (от Crestron Russia)

p.vladi: * модуль если серийный текст. Если просто название кнопок то модуль не нужен.

marin_n: тема купленая и основана на Standart Theme. Там в списке доступных шрифтов только ARIAL и больше никаких других. Так что юникод отпадает. И еще: я делаю Х-панель как основу для панели TPMC-9L и iPad. Как будет отображаться там руский шрифт - не имею понятия. Может, кто тестировал? Поделитесь опытом.


p.vladi: Шрифт должен быть "Arial Unicode MS" и ТОЛЬКО "Arial Unicode MS" Crestron в лабзе обещали добавить еще шрифтов. Вы пробовали поменять Вашу тему в студии? (просто помнять шрифт на нужный)

marin_n: но компилятор ругался: не установлен шрифт Arial Unicode MS, хотя на компе он есть

p.vladi: Компилятор VT-Pro или студии?

marin_n: Студия ругается - была старая версия.Новая все скомпилировала - русские буквы выводятся нормально. А вот с купленной темой не повезло - нет исходников для редактирования. Только файл *.core3_theme, который лежит в папке User themes. В купленной теме только 1 шрифт доступен - Arial. В отличие от Standart, у которой этих шрифтов целых 5

Kaveckiy: Чтобы не создавать новую тему спрошу здесь. Рисую в VTPro интерфейс на iPad для Crestron App используя Smart Graphic. Для навигации по помещениям использую Crestron Vertical Button List. Названия помещений храню в программе в Multiple Serial Send + Make String Permanent и при инициализации программы передаю их в интерфейс по Serial Join. Пробовал 2 пути: 1. Через переменные Item Text в Vertical Button List Smart Object (поставив галочку Use Indirect Text 2. Через обычные Serial Join в Crestron App с последующим вводом номеров этих Join в поле Button x - Lable И в первом и во втором случае вместо кириллицы получаю всякую не читаемую чушь, английское название передается нормально. В проекте используется тема Standart Theme International и шрифт Arial Unicode MS. Что делать? Куда смотреть? В начале темы упоминается модуль модуля кодирования ASCII-UTF-16. Он решит этот вопрос? Как его применять?

marin_n: попробуй так: берем путь второй, но, прежде чем подать строчку в панель, пропускаем ее через модуль. В модуле несколько входов/выходов, так что можно один модуль использовать для нескольких джойнов. Если не получится - присылай исходники, посмотрим. Мне модуль помог.

Kaveckiy: marin_n пишет: попробуй так: Спасибо! Я опробовал и первый и второй путь, оба работают. Мне больше нравится первый путь - он лучше вписывается в концепцию Smart Object.

Nescafe: Получилось только прогнав через 2 модуля. Сначала UTF8-to-ASCII, затем ASCII-to-UTF16.

СергейК: Nescafe пишет: Сначала UTF8-to-ASCII Подскажите, где скачать? Мне нужно с Kodi отправлять русский текст на панель. Собственно проблема в том, что я с Kodi (XBMC) через его же модуль получаю слово "Офицеры" в виде: \xD0\x9E\xD1\x84\xD0\xB8\xD1\x86\xD0\xB5\xD1\x80\xD1\x8B И после трансформации через модуль ASCII-to-UTF16 получаю: Р\x9EС\x84РёС\x86Р\xB5С\x80С\x8B Подскажите, что делаю не так? Поможет мне UTF8-to-ASCII модуль?

Kaveckiy: СергейК а какой модуль для Kodi используете?

Вячеслав: Ловите модуль для UTF8 click here

СергейК: Kaveckiy пишет: какой модуль для Kodi используете? Модуль из темы "Отказываемся от Dune в пользу Kodi (XBMC)". Но уже начал его переделывать. Если кто-то знает более новый модуль для kodi - буду признателен за ссылку! Вячеслав пишет: Ловите модуль для UTF8 click here Спасибо большое! Помогло - как вставил, сразу на русском получил надписи К слову темы попробовал: Black Glass, Standart Theme и Standart Theme International - всё-равно на русском пишет, так что, думаю, от темы не зависит. Шрифт Arial. Проект для TXW-1052 на Smart Graphic + PRO3.

Kaveckiy: СергейК меня эта тема тоже интересует, поэтому ищу информацию. Вы визуализацию их родную адаптировали или свою рисовали? Думаю как бы ее допилить покрасивее под Smart Graphics.

СергейК: Kaveckiy пишет: Вы визуализацию их родную адаптировали или свою рисовали? Думаю как бы ее допилить покрасивее под Smart Graphics. Нет, я под Smart Graphics делаю, но пока только начал и отвлекли BacnetIP (получается с контроллером Siemens связаться). Но насчёт Kodi, думаю, стоит перенести обсуждение вот в эту тему: Отказываемся от Dune в пользу Kodi (XBMC)

yanovik: Возможно ли использовать элемент text input для ввода кириллицы? Айпэд передаёт в контроллер вместо абв - 123 и тд. Таким образом можно сделать только буквенный ввод. Решал кто нибудь данный вопрос?

СергейК: На сколько помню, на второй ступени (CTI-P 201 Core System Programming) это изучают. Вроде бы так нужно сделать: посмотреть код русских букв и подставить вместо написанных Вами "абв". Обязательно при этом в SIMPL Windows в режиме Configure нажать на процессор правой кнопкой -> Configure -> Encording -> UTF16 выбрать. Где смотреть коды русских букв - сам забыл. Может, кто подскажет?

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

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 летней давности.

Nescafe: Вячеслав DMPS-300-C 4.007.0032 (Oct 16 2013) Свежее не нашел. Софт весь конечно свежий.

Вячеслав: Странная версия. Попробуйте puf v.1.07.03 от 14 марта 2016 См.личку

Вячеслав: С пробелом, но без Р

AutomationProgrammer: Вячеслав пишет: Ловите модуль для UTF8 click here Перезалейте пожалуйста модуль, ссылка битая(

Chikalov: Должно работать. CHANGE in { integer i, b; STRING text[128], data[896]; i = GetLastModifiedArrayIndex(); text=in; b=GetC(text); while (b<=255){ if (b<0xC0)/// Unicode UCS sybmbol was read data=data+chr(b); else makestring(data, "%s&#x%X;", data, b+0x350); b=GetC(text); } out=data; }

Вячеслав: Не, наверное не UTF-8, а классический модуль для WEB шрифтов: ASCIItoUTF16cyr.usp качать тут комент внутри не правильный Comments:Converter UTF8 to ASCII )) впрочем и ASCII-> UTF16 тоже далеко не вся правда. Это WEB-ебовский да еще и кропнутый (UCS2) до 2 байт UTF-16 (+ только латиница и кириллица) Короче качайте, пробуйте, пока совсем не запутались.

AutomationProgrammer: Не, наверное не UTF-8, а классический модуль для WEB шрифтов: ASCIItoUTF16cyr.usp Наверное таки UTF-8, я пытаюсь выводить в Crestron App названия песен с XBMC

Вячеслав: А что там в дебагере то выдает на панель? Напишите в hex. Может тогда и двойное преобразование надо. (UTF-8 to ASCII) качать тут

paulsaf: Можете еще раз расшарить модули utf8 - ascii и asii - utf16?

Вячеслав: Могу продать универсальный модуль за 1,5 т.р.: Входные форматы: {"win-1251/ASCII_EXTENDED","win-1251/ASCII_EXTENDED"},{"koi8-r","koi8-r"},{"UTF16_2byte/UCS2","UTF16_2byte/UCS2"},{"UTF8_2byte","UTF8_2byte"},{"BASE64","BASE64"} ВЫходные форматы: {"UTF16_2byte/UCS2","UTF16_2byte/UCS2"},{"UTF16/UCS2_for_SMS","UTF16/UCS2_FOR_SMS"},{"koi8-r","koi8-r"},{"win-1251/ASCII_EXTENDED","win-1251/ASCII_EXTENDED"},{"UTF16_FOR_WEB","UTF16_FOR_WEB"}, {"UTF8_2byte","UTF8_2byte"},{"BASE64","BASE64"},{"MD5","MD5"},{"TRANSLIT","TRANSLIT"}; Запрошенные модули скачать тут

Pavel777: Подниму темку. Вообщем, та же проблема что и в стар посте. Serial Send отправляет строки на Xpanel кирилицей, на XPanel, понятное дело бред, в лучшем случае китайские иероглифы. Со стороны VT-Pro - Standart Theme Int, шрифты пробовал и Arial и Arial Inicode. Со стороны Simpl - проц использовал и с ANSI и UTF-16, применял Convert to UTF-16 - без результатов. Ссылки на примеры и на модули в теме уже устарели, буду рад услышать совет и может кто обновит ссылки?

Вячеслав: Я отказался от Serial Send, никакие танцы с директивами, конверторами для этого элемента не подходят. Решение для себя выбрал такое: Пишем s+ модуль с текстовыми константами и директивой #ENCODING_UTF16. На выходах получаем чистый UTF-16 который кушает XPanel без всяких конверторов #ENCODING_UTF16 DIGITAL_INPUT SEND_STR[3]; STRING_OUTPUT Out$[3]; PUSH SEND_STR { integer i; i=GetLastModifiedArrayIndex(); switch(i) { case(1):Out$[1]="Привет"; case(2):Out$[2]="Русский"; case(3):Out$[3]="Это текст"; } }

Pavel777: Вячеслав, пытаюсь. Почему-то сам редактор S+ не воспринимает кирилицу. При комплиляции модуля кирилические строки нечитаемые. При попытке ввести свои данные - иероглифы еще на этапе ввода. Проверил Виндовс - все нормально. Уже не знаю...

Вячеслав: Чтоб в s+ Можно было кириллицей печатать есть 2 момента: 1.бывает это не работает если не открыт simlwidows 2.в меню модуля (edit->preferences) выбирайте шрифт с кириллицей, если вменяемый курьер cyr не работает то используйте шрифт fixedsys он точно работает. После каждой обновы эту операцию нужно делать заново.

Pavel777: Вячеслав



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