|
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 2
|
|
Печать на русском. Принтер CUSTOM TG2480H (VS2013)14.06.2016, 10:13. Показов 4880. Ответов 3
Метки нет (Все метки)
Всем привет! Нужна ваша помощь
![]() Уже 4 дня как я пытаюсь напечатать текст на русском языке но все четно. В принтере используется протокол ESC/POS. Работает через компорт. С горем пополам я нашел класс-обвертку для компорта и научился отправлять команды. И все бы хорошо, но как только дело дошло до русского языка - работа встала. Перечитав протокол я наткнулся на команду "Set charecter code table", что дает возможность выбирать кодировки в самом принтере для правильного отображения языков. Одним из параметров была кодировка РС866, которая и указывает на кириллицу. При подключении этой кодировки должен был заработать русский, но на печати снова появились кракозяблики. Открыв таблицу СР866 я увидел, что эти кракозяблики являются частью таблицы. Взяв коды букв из этой таблицы и отправив их на печать я все таки получил русский язык. А если взять и сравнить коды, например букв 'A', то разница между ними будет - 64. (код 'A' С++ = 192, 'A'CP866 = 128). Интересно то, что при использовании кодировки СР866 для консоли (setConsoleCP, setConsoleCPOut) отображается нормальный русский текст, а при выводе на принтер получаем кракозяблики. Подскажите, может нужно как-то еще обработать текст? Почему кодировки не совпадают?
0
|
|
| 14.06.2016, 10:13 | |
|
Ответы с готовыми решениями:
3
Custom tg2480h борьба с отступами
Печать на принтер |
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 14.06.2016, 13:56 | ||
char str[] = "\x95\xE3\xA9!";
0
|
||
|
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 2
|
|
| 14.06.2016, 14:16 [ТС] | |
|
В общем разобрался немного. Если текст вводить в VS то он автоматически кодируется 1251 (char* text = "Тестовый текст для печати" - 1251). Соответственно, консоль(866) выводит текст в кракозяблики, что делает и принтер. Т.е. для корректной печати мне осталось перевести 1251 в 866. Но задача усложняется тем, что текст берется из файла который должен быть в кодировке UTF-8. Т.е. нужно конвектировать UTF-8 в СР866. Подскажите, как правильно это сделать. Инфо на форуме до этого не совсем понятна и разнобойна. Если можно, небольшой пример.
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||||||
| 14.06.2016, 14:54 | |||||||
0
|
|||||||
| 14.06.2016, 14:54 | |
|
Помогаю со студенческими работами здесь
4
Вывод на печать (принтер). Принтер и пищевая печать Печать апплета на принтер TBitmap. Печать на принтер Печать на определенный принтер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|