QT调用ESC/POS指令向Xp-D300H打印越南语乱码问题求助
越南语带变音符号字符打印乱码问题(Xp-D300H + Qt)
当前使用Qt向Xp-D300H打印机发送打印指令时,英文文本、图片及二维码打印均正常,但越南语带变音符号的字符打印显示异常,例如打印“Hóa đơn bán hàng”时出现乱码(见截图)。
打印文本相关代码
int escpos_printer_text(escpos_printer *printer, QString content,const char *font,const char *type,const char *align) { int result = 0; QTextCodec *isoCodec = QTextCodec::codecForName("UTF-8"); QByteArray byteArray = isoCodec->fromUnicode(content); result = escpos_printer_raw(printer,byteArray.data(),byteArray.length()); return result; } int escpos_printer_raw(escpos_printer *printer, const char * const message, const int len) { assert(printer != NULL); //This function is using for send byte array to printer by Rs232 printer->mRs232Printer->sendData(message,len); return 0; }
已尝试的解决操作
- 测试过多种编码转换方案
- 发送了选择越南语代码页的指令
0x1b 0x74 0x28 - 关闭了打印机的“双字节字符”开关(开启时输出全为中文)
上述操作均未解决问题。
内容的提问来源于stack exchange,提问作者Cylasion
相关产品推荐
相关产品推荐

