АЛьФ писал(а) 10. Апреля 2018 :: 06:28:[quote author=0C18242D3F4B0 link=1427365326/13#13 date=1523277361]
А если без кириллицы, то нормально читается? Вроде у меня таких проблем не возникало. Но у меня до практического внедрения этого функционала так и не дошло.
Можно попробовать кириллицу перекодировать в UTF-8 с помощью метода
Сервис::DecodeToUTF8()
.
Не получится.
Может быть режим zint переставлен с UTF-8 на binary? Не переключен.
Да и библиотека видимо старовата. Может влиять, но сканеры не сильно готовы.
В более новой добавлена поддержка расширенного заголовка ECI т.е. можно даже 1251 напрямую заталкивать.
А возможно из-за отсутствия в старой версии этого заголовка, распознавание идет как binary. просто двойное и кривое преобразование...
P.S. собрал консольный zint 2.6.3
https://cloud.mail.ru/public/LXnN/yc4A7Cvo6Странно он работает...
https://zxing.org/w/decode.jspx распознал только так
chcp 65001
zint -o bar58k2.png -b 58 --eci=22 --binary --border=10 -d "текст"
А странность в следующем: "текст" то в utf-8, но указан как binary, но кодировка --eci=22 как ascii
upd1: лучший результат показал
zint -o bar58_utf8b.png -b 58 --binary --border=10 -i zint -i ./test_utf8.txt
eci нет, поэтому старые сканеры его кушают
ага, а режим binary видимо нужен чтобы оно с utf-8 больше ничего не делало...
АЛьФ не плохо бы переключить режим на binary, тогда DecodeToUTF8 будет работать и получится запихать в код и ascii и/или oem, и мне так кажется именно это и надо (бегло посмотрел форумы, да, засовывают туда все что ни попадя, следовательно binary наш путь).
И отдельную опцию бы еще на eci, на недалекое будущее...