PHP中的打印机功能无法打印中文字符(UTF-8)

时间:2014-02-17 08:22:45

标签: php printing utf-8

我使用打印机功能在包含中文和英文单词的文本文件(.txt)中打印出一些数据。它们都可以在网页中正确显示。打印时,英文单词看起来不错,但中文单词没有显示正确的输出。有什么建议可以克服这个问题?下面是我的编码。请帮帮我。

<?php
$print = file_get_contents("print.txt");
$printer = "XP-80"; //printer name
echo $print;
if($ph = printer_open($printer)) 
{  
   printer_set_option($ph, PRINTER_MODE, "RAW"); 
   printer_write($ph, $print); 
   printer_close($ph); 
} 

?>

2 个答案:

答案 0 :(得分:0)

我可以想到一些可能导致问题的原因:

  • 您选择的字体不兼容UTF-8。
  • printer_set_option() $font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50); printer_select_font($ph, $font); 还有关于错误的说明。这是从2009年开始,所以不确定它是否仍然有效。
评论后

编辑:

manual page

尝试此示例
{{1}}

答案 1 :(得分:0)

我使用以下代码解决了这个问题:

$textprinting = "your text";
utf8_decode($textprinting);