Русские буквы в QR-коде

Автор Hedron, Вчера в 11:39

« назад - далее »

Hedron

Здравствуйте!

Можно ли в QR-код закодировать русский текст?

Команда НарисоватьШтрихкод с input_mode по умолчанию (или input_mode=0 - DATA_MODE) выдаёт QR-код,, где русские буквы читаются как иероглифы.
При input_mode=1 (UNICODE_MODE) или input_mode=2 (GS1_MODE) – QR-код не выводится вообще!


MWW_Ruza

"где русские буквы читаются как иероглифы" - читаются чем? Может проблема на стороне чтения? Сканер в режиме COM, или KB- ?
Поймать строку со сканера, и просмотреть коды символов...
Я точно кодировал ШК QR c помощью Formex, когда делал карточки для клиентов для ввода телефона/мыла, там точно были русские символы, как-то проблемм не было...

MWW_Ruza

Вот, скриншот:

Как-то не было проблем, что напечатал, то и прочиталось...
Сканер Datalogic 2430, в режиме эмуляции com-порта.

MWW_Ruza

Если что - вот команда рисования ШК:

Функция ВыводКартинкиШК(Объект)
   Если ВидКД = 1 Тогда
      Сервис.НарисоватьШтрихкод(Объект, 58, СокрЛП(Почта), 1,,0);   
   Иначе   
      Сервис.НарисоватьШтрихкод(Объект, 71, СокрЛП(Почта), 1,,0);
   КонецЕсли;   
КонецФункции

Hedron

Сканировал смартфоном (как наиболее подручный аппарат для теста).
Скорее всего, дело именно в его "программе распознавания", поскольку, если в "слове" чётное количество букв, то выдаёт иероглифы, а если нечётное – выдаёт "умляуты" (что, в принципе, можно считать "русскими буквами в европейской кодировке").
Такие же "умляуты" он выдаёт и при сканировании вашего QR-кода.
Так что, можно считать, что виноват сам сканер  :-)

Но, в любом случае, в команде НарисоватьШтрихкод при использовании input_mode=1 (UNICODE_MODE), если в строке кодирования используются русские буквы, то QR-код не выводится вообще.

Hedron

Так, с input_mode=1 (UNICODE_MODE), похоже, тоже разобрался: в этом режиме текст для QR-кода уже изначально должен быть в формате UTF-8 – тогда QR-код формируется.

Тогда вопросов больше нет!  :-)