Проверка корректности передачи штрихкодов с кириллицей в режиме COM

Данная проблема возникает в момент интерпретации данных принимающим программным обеспечением. Если кодировка приема не совпадает с кодировкой передачи, происходит неверное декодирование.

Например, байт кириллической буквы из кодировки Windows-1251 (0xC0) при принудительном чтении как ASCII или неверной интерпретации в UTF-8 будет отображен некорректно.

Некорректная передача (ASCII/Wrong)

../../../_images/cyr-check1.png

Корректная передача (UTF-8/Win1251)

../../../_images/cyr-check2.png

Важно

В вашем ПО должна быть возможность выставить кодировку UTF-8, которая является стандартом для вывода на сканерах. Корректность передачи кириллических символов зависит от кодировки исходного штрихкода.

Проверка в Windows (PuTTY)

  1. Установите ПО для работы с COM-портом (например, PuTTY).

  2. Перейдите в раздел Window → Translation и выберите кодировку, соответствующую вашему штрихкоду (обычно UTF-8).

../../../_images/cyr-check3.png
  1. Перейдите в раздел Session, выберите тип соединения Serial, укажите номер COM-порта и скорость (Speed).

../../../_images/cyr-check4.png
  1. Нажмите Open и отсканируйте штрихкод.

Если символы передаются неверно, уточните кодировку вашего штрихкода и измените её в настройках приложения.

Проверка в Linux (SerialTest)

Тестирование проводилось на Linux Mint 22.2 (Zara).

Перед началом работы убедитесь, что у вашего пользователя есть права на работу с последовательным портом.

# Добавление прав на COM-порты (требуется перезагрузка или перелогин)
sudo usermod -aG dialout $USER

Установка SerialTest

# Установите flatpak, если он отсутствует
sudo apt update
sudo apt install flatpak

# Добавьте репозиторий Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Установите SerialTest
flatpak install flathub io.github.wh201906.serialtest

# Запустите приложение
flatpak run io.github.wh201906.serialtest

Проверка

  1. В блоке Connect выберите нужный порт (например, /dev/ttyACM0 или /dev/ttyUSB0).

  2. В поле Encoding выберите кодировку.

  3. Нажмите Open и отсканируйте код.

Корректная передача данных в приложение SerialTest:

../../../_images/cyr-check5.png

Вывод

Если в тестовых утилитах данные отображаются верно, а в целевом ПО — нет, измените кодировку приема в настройках вашего программного обеспечения.

Примечание

Если вы не нашли ответа на свой вопрос или нуждаетесь в консультации наших технических специалистов, пожалуйста позвоните по телефону бесплатной горячей линии MERTECH 8-800-555-7783 или напишите запрос на почту support@mertech.ru


К.И.С. 13.03.2026