Zebra打印机和字符编码

时间:2015-09-17 14:24:50

标签: character-encoding zebra-printers

我正在努力使用Zebra Printer对字符进行编码。

我正在使用ZebraDesigner,例如,我使用文本“Texteaccentué”创建了一行。 在生成的.prn文件中,行如下: ^ FT27,67 ^ A0N,28,28 ^ FH \ ^ FDTexte accentu \ 82 ^ FS

我猜是\ 82是我的信é的编码版本,但我发现它们之间没有任何关系。

欢迎任何帮助。

2 个答案:

答案 0 :(得分:0)

^ CI是设置编码的命令。那也应该在你的输出中。在ZPL指南中查看该命令的定义,看看它是如何的

答案 1 :(得分:0)

好的,我完成了它: 0x82(Hexa)或130(Dec)是扩展ASCII中的“é”编码(Codepages 437或850:http://www.ascii-codes.com/

要转换我的字符串,我必须使用这个PHP函数:

$text = iconv('UTF-8', 'CP437//TRANSLIT', $text); // Also works with CP850

我终于创建了这个小脚本,它只转换扩展的ASCII字符(十进制代码&gt; = 128),因为基本的正确理解,我希望我的函数以完整文件作为参数运行。< / p>

function zebraConvert($text)
{
    $return = '';
    $arr = str_split(iconv('UTF-8', 'CP437//TRANSLIT', $text));
    foreach ($arr as $char) {
        $ord = ord($char);
        if ($ord >= 128) {
            $return .= '\\' . dechex($ord);
        } else {
            $return .= $char;
        }
    }
    return $return;
}