2014-02-17 92 views
1

我使用打印機功能打印出包含中文和英文單詞的文本文件(.txt)中的一些數據。它們都可以在網頁中正確顯示。打印時,英文單詞看起來不錯,但中文單詞不顯示正確的輸出。任何解決這個問題的建議?下面是我的編碼。請幫幫我。PHP中的打印機功能無法打印中文字符(UTF-8)

<?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); 
} 

?> 
+1

這個例子你確定你的打印機支持UTF-8字符的中國?僅僅因爲你的文本顯示在屏幕上,並不意味着它必然會在其他地方正確顯示。 – 2014-02-17 08:29:06

+0

ya。打印機可以支持中文字符。 如果我使用window.print,中文字符會很好,但如果我在PHP中使用打印機功能,它不起作用 – Billy

回答

0

有幾件事我能想到的可能是問題的原因:

  • 您選擇的字體不是UTF-8兼容。
  • 還有關於printer_set_option()關於bug的manual page的注意事項。從2009年開始,所以不確定它是否仍然有效。之後你

編輯點評:

嘗試從reference manual

$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50); 
printer_select_font($ph, $font); 
+0

它有任何命令來設置字符? – Billy

+0

我編輯我的答案... – miltos

+0

這是列我應該把utf8? – Billy