Страница 1 из 2
QR код не всегда правильно читается приложением Сбербанка
Добавлено: 16 дек 2024, 20:59
quimb
Ниже приведены примеры строк, которые назначаются свойству Code компонента BarCode
В первом случае, полученный QR код, в приложении сбербанка читается нормально, название организации и банка русскими символами, во втором случае - кракозябрами.
string s = "ST00011|Name=МАУ \"Бейсужекскоe\"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000";
string s = "ST00011|Name=МАУ \"Бейсужекское\"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000";
Методом научного тыка выяснено, что, если слово Бейсужекскоe, в конце имеет английскую букву e, то все проходит нормально, если русскую е - то кракозябры.
Вряд ли это штатное поведение. Что делать и как исправить?
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 18 дек 2024, 00:04
Aleksey
Здравствуйте,
Проверьте последнию версию 2025.1.1.
Если проблема остается, вышлите пример отчета, а также скриншот как выглядит правильно и как неправильно.
Также, учтоните используются ли опция StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding
Спасибо.
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 18 дек 2024, 16:33
quimb
Aleksey писал(а): ↑18 дек 2024, 00:04
Здравствуйте,
Проверьте последнию версию 2025.1.1.
Если проблема остается, вышлите пример отчета, а также скриншот как выглядит правильно и как неправильно.
Также, учтоните используются ли опция StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding
Спасибо.
2025.1.1. проверял (демо версию) такое же поведение
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding
используется таким образом
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.Windows_1251;
Пример отчета должен запускаться из приложения с StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.Windows_1251;
Так можете просто кинуть на пустой шаблон barcode и присвоить свойству Code поочередно следующие строки:
ST00011|Name=МАУ "Бейсужекскоe"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000
ST00011|Name=МАУ "Бейсужекское"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000
и выполнить отчет из своего приложения
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 19 дек 2024, 19:14
Aleksey
Здравствуйте,
Мы не можем воспроизвести проблему.
Оба ваших штрихкода у нас сканируются корректно. Мы пробовали три разных программы на телефонах, и штук 10 онлайн-сканеров, во всех штрихкоды считались правильно.
Возможно, это какие-то проблемы именно с вашим приложением-сканером.
Спасибо.
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 23 дек 2024, 10:59
quimb
Aleksey писал(а): ↑19 дек 2024, 19:14
Здравствуйте,
Мы не можем воспроизвести проблему.
Оба ваших штрихкода у нас сканируются корректно. Мы пробовали три разных программы на телефонах, и штук 10 онлайн-сканеров, во всех штрихкоды считались правильно.
Возможно, это какие-то проблемы именно с вашим приложением-сканером.
Спасибо.
Речь идет о приложении Сбербанка для Android. Именно в нем происходит такая странность. И прежде чем задать вопрос, я протестировал на разных телефонах. Поведение такое же как на приведенных скринах.
Дело в том, что как Вы наверное догадались, штрих код используется в квитанциях на оплату ЖКХ. И проблема поднята клиентами, которые видят в своих телефонах при оплате непонятные символы вместо наименовании организации. Т.е. проблема воспроизводится не только на моих телефонах.
Я даже пошел дальше и сформировал из приведенных выше строк QR код в генераторе отчетов от devexpress. При сканировании в приложении Сбербанка нет непонятных символов, все отображается корректно.
Куда мне копать дальше? Проблему надо решить.
P.S. Сканирование кода производилось с камеры телефона в приложении Сбербанка. Вы ведь также делали? Не подсовывали в качестве образца файл изображения?
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 23 дек 2024, 18:06
Aleksey
Здравствуйте,
> Речь идет о приложении Сбербанка для Android. Именно в нем происходит такая странность.
Т.е. другие приложения на тех же телефонах у вас считывают штрихкод правильно, проблема только в этом приложении?
> Я даже пошел дальше и сформировал из приведенных выше строк QR код в генераторе отчетов от devexpress. При сканировании в приложении Сбербанка нет непонятных символов, все отображается корректно.
Вышлите пожалуйста скриншот с этими штрихкодами для анализа.
> Сканирование кода производилось с камеры телефона. Вы ведь также делали? Не подсовывали в качестве образца файл изображения?
Сканировали мы штриходы из высланных вами pdf-файлов, открытых на экране компьютера.
Приложения Сбер у нас нет. Сканирование на телефонах производилось камерой телефона, встроенным приложением и "QR Code Scanner", "Barcode Scanner". Онлайн-сканерам отправляли обрезанный скриншот с экрана.
Спасибо.
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 24 дек 2024, 10:03
quimb
Т.е. другие приложения на тех же телефонах у вас считывают штрихкод правильно, проблема только в этом приложении?
Именно так. Пробовали в приложении Тинькова. Там все норм.
Смущает то, что и приложение Сбербанка то читает нормально, если заменить последнюю букву наименования организации на английскую.
Собственно есть клиенты где организация прописана полностью русскими символами, и QR код читается Сбером хорошо, но вот именно в этом частном случае получается такая досадная непонятность.
Вышлите пожалуйста скриншот с этими штрихкодами для анализа.
Высылаю. Сформировал в двух генераторах. Строка в QR кодах одна и та же.
ST00011|Name=МАУ "Бейсужекское"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=0
Не знаю даст ли вам что эта информация - для DevExpress настройки QR кода - метод сжатия = Байт (собственно с другими методами данная строка и не шифруется)
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 27 дек 2024, 13:32
Aleksey
Здравствуйте,
> ... для DevExpress настройки QR кода - метод сжатия = Байт (собственно с другими методами данная строка и не шифруется)
Мы изучили присланные вами штрихкоды.
В штрихкоде, созданном в DevExpress, применяется кодировка символов "UTF-8".
Чтобы принудительно включить эту же кодировку в нашем штрихкоде, надо установить:
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.UTF_8;
Также, возможно, надо дополнительно установить следующую опцию (в некоторых приложениях может некорректно распознаваться Unicode-заголовок ByteOrderMark):
StiOptions.Engine.BarcodeQRCodeAllowUnicodeBOM = false;
> Именно так. Пробовали в приложении Тинькова. Там все норм.
> Смущает то, что и приложение Сбербанка то читает нормально, если заменить последнюю букву наименования организации на английскую.
Это похоже на какую-то багу в приложении Сбер, когда оно пытается преобразовать последовательность байт из кодировки Windows-1251 в Unicode.
Потому что в режиме кодирования Byte вся строка текста прямо записывается в штрихкод в виде последовательности байт без всякого преобразования.
Мы советуем вам также попробовать обратиться с этой проблемой к Сбер, интересно что они скажут про это.
Также, интересно, что ранее кто-то из клиентов писал нам, что это приложение читает только QRCode с кодировкой Windows-1251.
Но у вас сейчас корректно считываются и штрихкоды с кодировкой Utf-8.
Спасибо.
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 27 дек 2024, 15:30
quimb
Aleksey писал(а): ↑27 дек 2024, 13:32
StiOptions.Engine.BarcodeQRCodeAllowUnicodeBOM = false;
У меня нет такого свойства. Версия генератора 2015.3.
Aleksey писал(а): ↑27 дек 2024, 13:32
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.UTF_8;
Кракозяки стали другие, но все также не читаемы
Re: QR код не всегда правильно читается приложением Сбербанка
Добавлено: 27 дек 2024, 18:53
Aleksey
Здравствуйте,
Проверьте последнюю версию, с тех пор было большое количество доработок, исправлений.
Спасибо.