Часто задаваемые вопросы о TBarCode OCX
Не удаётся закодировать корейский текст (или UTF-8) в QR-код
Не удаётся закодировать корейский текст (или UTF-8) в QR-код
QR Code был разработан в Японии компанией Denso (для Toyota) и использует ASCII + японские символы (кандзи) в качестве набора символов по умолчанию. Позже ISO изменила это на Latin-1. Поэтому ваш считыватель штрихкодов пытается декодировать данные в QR-коде либо с помощью JIS X 0208 / JIS X 0201, либо с помощью набора символов Latin-1. Если это не приложение-считыватель штрихкодов или специальный программный декодер, он не ищет UTF-8 или другие наборы символов (за исключением случаев использования протокола ECI)!
Возможные решения:
- Считыватель штрихкодов с клавиатурным эмулятором можно настроить на использование UTF-8. В противном случае он всегда будет использовать набор символов JIS или Latin-1 по умолчанию. Протокол ECI позволял бы использовать разные наборы символов, но считыватель должен поддерживать этот протокол.
- Последовательный считыватель штрихкодов (подключённый к COM-порту или через драйвер виртуального COM-порта через USB) передаёт данные как последовательность байтов. Программное обеспечение обработки данных может декодировать поток данных и решить, как его декодировать — как JIS, Latin-1, UTF-8 или как корейский многобайтовый набор символов.
- Если ваш считыватель штрихкодов поддерживает корейский язык (или вы используете последовательный считыватель штрихкодов), вы также можете попробовать установить свойство кодовой страницы TBarCode на корейский вместо UTF-8.
- Приложения-считыватели для смартфонов по умолчанию пытаются декодировать QR-коды с помощью UTF-8. Поэтому велика вероятность, что это сработает со смартфоном-считывателем при настройке кодовой страницы UTF-8 в TBarCode.