ESC/POS 热敏打印机 UTF-8 字符集设置
Posted
技术标签:
【中文标题】ESC/POS 热敏打印机 UTF-8 字符集设置【英文标题】:ESC/POS Termal printer UTF-8 charset set up 【发布时间】:2020-12-12 05:57:55 【问题描述】:我正在尝试使用 Citaq v8(它有一个终端打印机)打印一些货币,但由于打印机字符集,它会打印 ?。
我有要打印的字节数组 (UTF-8) 数据。但是打印机默认有一些字符集。如何以编程方式更改默认字符集(如使用字节数组)?我需要更改打印机字符集设置。
设备:Citaq v8(设备有终端打印机) PS:我找不到任何开发者文档。
【问题讨论】:
【参考方案1】:也许不支持 UTF-8 作为字符集/代码表。
甚至 EPSON 也仅在某些型号上受支持。FS ( C <Function 48>
选择字符编码系统
ASCII FS ( C pL pH fn m Hex 1C 28 43 02 00 30 m Decimal 28 40 67 2 0 48 m
TM-P20
1, 49 ASCII (ISCII) ISCII: Indian Script Code for Information Interchange 2, 50 UTF-8 Unicode encoding system
TM-m30II、TM-m30II-H、TM-m30II-NT
1, 49 1-byte character encoding Non-Unicode encoding method (ASCII [extended], Shift JIS, Big5, GB2312, GB18030, KS C, etc.) 2, 50 UTF-8 Unicode encoding system
您需要使用以下两个ESC/POS命令设置打印机代码页,并且请求打印的字符串在发送前必须根据代码页进行编码和转换。
ESC t
选择字符码表
ASCII ESC t n Hex 1B 74 n Decimal 27 116 n
ESC R
选择一个国际字符集
ASCII ESC R n Hex 1B 52 n Decimal 27 82 n
或者,您可以使用位图图像创建要打印的所有页面内容,并使用与图像打印相关的 ESC/POS 命令之一进行打印。 但是,它会很慢。
【讨论】:
以上是关于ESC/POS 热敏打印机 UTF-8 字符集设置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Linux 中向热敏打印机发送 ESC/POS 命令
使用 JavaScript 通过 ESC/POS 将图像打印命令发送到以太网上的热敏打印机