POS机打印乱码,请写过POS的朋友帮忙!
我用的打印机是Epson TM-U210D。
问题是,打出来还是乱码,请教选用字体应该发什么控制命令?顺序错了吗?
我已经发Email给Epson 公司,可没回信给我。只好上网找了。我是用PB写的。
还望前辈给看看,指教一下。
Long Job
Job = PrintOpen()
/*
ESC @ 初始化打印机
格式: ASCII: ESC @
十进制: 27 64
十六进制: 1B 40
说明:
该命令初始化打印机:使打印机恢复到最初的联机状态,清除以前留下的程序。
*/
printsend(job,"~h1b~h40")
/*
FS & 进入汉字打印方式
格式: ASCII: FS &
十进制: 28 38
十六进制: 1C 26
说明:
打印机接收到该命令后,结束本行打印,从下一行开始转为汉字打印方式。
在汉字打印方式时,打印机接收的代码为2字节的标准机内码(均为大于9FH的码),根据该代码寻找打印机的硬汉字字模,打印国标15×16点阵的汉字。
打印机接收到单字节的ASCII码(20H-9FH)时,将打印出相应的5 ×7或7×7点阵字符。
*/
PrintSend(Job,"~h1c~h26")
/*FS ! 汉字综合选择
格式: ASCII: FS ! n
十进制: 28 33 n
十六进制: 1C 21 n
说明:
n的各位的定义如下:
位 0 1
0 无定义
1 无定义
2 宽正常 汉字倍高
3 高度正常 汉字倍高
4 无定义
5 无定义
6 无定义
7 无下划线 汉字下划线
*/
PrintSend(Job,"~h1c~h21~h00")
/*
FS ~ S 选择汉字打印速度
格式: ASCII: FS ~ S n
十进制: 28 126 83 n
十六进制: 1C 7E 53 n
说明:
此功能设置汉字打印模式时的打印速度,当n=1时为汉字高速打印,横向分辨率为144 DPI,纵向分辨率为72 DPI;
当n=0时为正常打印模式,横向分辨率为144 DPI,纵向分辨率为144 DPI 此模式为默认模式。
*/
PrintSend(Job,"~h1c~h7e~h53~h01")
Print(Job, "为什么总是乱码?")
Print(Job, "123456")
/*
ESC i 全切纸命令
格式: ASCII: ESC i
十进制: 27 105
十六进制: 1B 69
说明:
打印机控制切纸刀全切纸一次。
*/
PrintSend(Job,"~h1b~h69")
PrintClose(Job)
以上打出来的还是乱码,而且还是有时打,有时不打。我已经弄了好几天了,真的是头大了!