看板 Perl 關於我們 聯絡資訊
Linux 檔案的預設編碼是UTF8,因為印表機只接受繁體中文 Big5 的編碼,要如何控制 輸出格式才不會出現亂碼? 作業的方式是由Windows 8 以 UTF8 方式開檔並上傳至 Linux 上執行。 (UTF8 格式的 Perl 檔案) use Encode; my $result="123 測試 456"; my $string0 = Encode::encode('big5', $result); print $string0."\n"; perl test.pl >/dev/ttyUSB0 印表機印出來都是亂碼,求解,謝謝! 各問神人指引我一條光明的道路! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.100.9 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1436930929.A.FAC.html
abliou: 如果是big5,可能會有很多事情都無解了,我的經驗 07/15 11:51
abliou: 光是許功蓋問題就弄到吐血,這不是perl的問題,其他語言也是 07/15 11:52
flu: 你沒有加入use utf8; 所以在my result那行進入記憶體時就是 07/15 18:52
flu: 亂碼了,在輸出時也是亂碼不意外。 07/15 18:53
flu: 輸出到檔案再看的結果如何?警告和錯誤訊息是什麼? 07/15 18:54
dk1120: 了解,我測試看看,不過主機被我玩掛了,重新開機都開不起 07/15 19:02
dk1120: 來,先把主機搞定。 07/15 19:02
HuangTzHuan: 先試 piconv -f utf8 -t big5 file > /dev/ttyUSB0 ? 07/16 23:04