gpt4 book ai didi

javascript - Zebra 打印机中的编码日期

转载 作者:行者123 更新时间:2023-11-30 17:40:51 27 4
gpt4 key购买 nike

我需要将 Zebra M4Plus 打印机中的“日期字段”从 UTF-8 编码为 UTF-16。为此,我需要使用“所需的翻译表”。在文档中我发现了这个:

~DER:JIS.DAT,27848,300021213001...

但我不知道 JIS.DAT 是什么,为什么是 27848。

这是我的代码示例:

qz.append("^XA");
qz.append("^FO160,635");
qz.append("^A@R,30,30,E:TT0003M_.FNT");
qz.append("~DER:.DAT,27848,Данные для вывода^FS"); - it not work. Printer go to offline.

谁有这方面的经验,请帮忙。

最佳答案

请尝试强制 Java 小程序使用西里尔字母:qz.setEncoding("cp1251");qz.setEncoding("windows-1251");除非打印机本身支持 UTF-16,否则 qz.setEncoding("UTF-16");

更新:在较新版本的 QZ Tray 中,语法为 qz.configs.create("My Printer", { encoding: 'UTF-8' });

此外,请确保定义 <meta charset="utf-8">在您的网页中。

编辑:这里有详细的原因解释:Printer ZebraZ4MPlus don't print Russian Cirillyc character

Java 习惯于假设您要使用的字符集,通常是 cp1252 (Windows) 或 UTF-8 (*nix)。根据打印机期望的编码(以及它支持的编码),Java 首先需要在发送之前将这些字符/命令转换为合适的等价物。提供了 Java 7 支持的编码的完整列表 here .

关于希腊字符支持,qz bug tracker 上提出了一个非常相似的问题。诀窍是告诉 Java 和打印机正在使用哪种语言/字符编码。

最后,我遇到过 html/js 文件上的 BOM 标志(字节顺序标记)导致不良结果的情况。在那种情况下,JavaScript 在发送到 Java 之前就知道文档的编码和翻译正在发生。我使用 Notepad++ 打开/关闭 UTF-8 BOM。

此外,这里是 qz 错误报告的链接,它与不同的打印语言(ESCP 而不是 ZPL)有关,但具有类似的症状,即 Java 的输出在他的打印机上被错误地转换。 https://code.google.com/p/jzebra/issues/detail?id=204#c10

-特雷斯

关于javascript - Zebra 打印机中的编码日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com