pos机打印繁体中文字乱码的问题。。。。

wu345654 2009-06-05 06:40:14
本人手头上的一个程序中需要打印一些繁体中文的文字。但是打印出来却是乱码,简体中文字正常显示。如果在机器上用记事本或者其他工具输入繁体字,打印到pos机上也不会出现问题,所以判断是程序还有不足的地方,如下是程序代码:

 class print_reg_paper
{
const int OPEN_EXISTING = 3;

string prnPort = "LPT1";
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr CreateFile(string lpFileName,
int dwDesiredAccess,
int dwShareMode,
int lpSecurityAttributes,
int dwCreationDisposition,
int dwFlagsAndAttributes,
int hTemplateFile);
ArrayList al;

public print_reg_paper(ArrayList als)
{
al = new ArrayList();
this.al = als;
}

public string PrintLine(string str)
{
try
{
IntPtr iHandle = CreateFile(prnPort, 0x50000000, 0, 0, OPEN_EXISTING, 0, 0);
if (iHandle.ToInt32() == -1)
{
Console.WriteLine(iHandle.ToString());
return "没有连接打印机或者打印机端口不是LPT1";
}
else
{
Console.WriteLine(iHandle.ToString());
FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
Console.WriteLine(al[2].ToString());
sw.WriteLine(str);

sw.WriteLine();

sw.WriteLine(al[1].ToString() + " " + al[2].ToString() + " " + al[3].ToString() + " " + al[4].ToString() + "件");

sw.WriteLine();
sw.WriteLine(DateTime.Now);
sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine();
sw.Close();
fs.Close();
return "打印机连接成功";
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
...全文
490 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu345654 2009-06-05
  • 打赏
  • 举报
回复
补充的是在

StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
这句代码这里设置了很多种编码方式,比如“big” “utf-8” “gbk”等等一一测试都不行。求高手指点。。。。
1 针式打印、一体分类与维修 针式、一体培训资料全文共34页,当前为第1页。 针式打印 针式、一体培训资料全文共34页,当前为第2页。 针式打印工作原理 针式打印(简称针打)是利用电路驱动和械原理,使打印针撞击色带和打印介质,进而打印出点阵,再由点阵组成符或图形来完成打印任务的。 针式、一体培训资料全文共34页,当前为第3页。 针式打印仿真语言 计算通过打印控制语言,以软件命令的方法来控制打印操作,解释执行打印数据,获得打印结果。常见的针式打印仿真语言为:EPSON、OKI及IBM仿真语言,EPSON仿真语言通用Epson lq-1600k驱动;OKI仿真语言通用OKI 5530SP驱动,都是操作系统自带的,IBM仿真语言使用较少。 针式、一体培训资料全文共34页,当前为第4页。 针式打印基础知识 不同类型的针式打印 微型针式打印: 主要用于POS、ATM等设备上。 通用针式打印: 主要用于普通办公和财务构。 票据针式打印: 平推式走纸、具备自动纠偏技术、能够处理超厚纸张,专门用于银行、邮电、保险等服务部门的柜台业务,这类打印专门发展出了一种存折打印,还具备磁条读写等特殊功能。 针式、一体培训资料全文共34页,当前为第5页。 针式打印基础知识 针式打印各部分名称和功能(平推式) 针式、一体培训资料全文共34页,当前为第6页。 针式打印基础知识 a.打印纸导纸器b.导轨c.过纸控制杆d.控制面板e.电源转换开关f.前部导纸器g.前盖h.打印盖i.打印纸导纸器盖 针式打印各部分名称和功能(通用式) 针式、一体培训资料全文共34页,当前为第7页。 针式打印基础知识 针式打印主要技术指标 拷贝能力:也叫复印能力或复写能力,是指针式打印能够在复写式打印纸上最多打出"几联"内容的能力。目前票据打印的复写能力一般用"1+N"的方式来标识,1表示打印原件,N表示拷贝(复写)件数,比如"1+6"就代表产品可以最多打印在7层的复写式票据上全部打印出内容来。 接口类型:接口类型指的是针式打印与电脑系统采用何种方式进行连接。目前票据打印常见的有并口 (也有称之为IEEE 1284, Centronics)、串口 (也有称之为RS-232接口的)和USB接口。 供纸方式:根据针式打印供纸的原因,可以把它分为两大类:使用齿轮拖拉的方式供应连续纸和通过摩擦原理供应单页纸。目前绝大多数的针式打印都具备了这两种供纸的方式,在描述供纸方式时经常是根据连续纸和单页纸的进纸位置加以描述,比如前部、后部、底部。 针式、一体培训资料全文共34页,当前为第8页。 优点 -可在不同类型的纸张上进行打印。 -如多层的无碳复写纸 -多种的进纸通道。-可打印单页纸、连续纸 -打印成本低,-耗材,纸张 缺点 -打印时的噪音较大 -不适宜高质量打印。如照片、图片打印 -打印速度受打印头及线圈响应限制。 -为避免打印头因出针的摩擦过热,不得不限制打印速度 ---------或在打印过程中强制暂停。 -速度受限 针式打印优缺点 针式、一体培训资料全文共34页,当前为第9页。 常见故障及解决方法(1) 出错提示信息: 电源指示灯闪、联灯灭,表示缺纸或卡纸; 电源指示灯和联灯同时闪,表示纸斜; 电源指示灯和联灯交替闪烁,表示选纸杆位置出错; 电源指示灯和联灯交替快速闪烁,表示回位出错; 电源指示灯亮、联灯闪,表示打印头过热。 针式、一体培训资料全文共34页,当前为第10页。 常见故障及解决方法(2) 打印发票后面几联不清晰: (1)根据纸张厚度,将纸张厚度调整杆调到适当位置。 (2)检查打印头,可能是针磨损严重,需要更换打印头。 打印缺笔划: (1)由于打印头头缆九十度折角处与车架长久擦,头缆破损,几根导线处相碰短路引起主板,打印头,头缆损坏。用透明胶布将打印头头缆固定在车架上。 (2)检查打印头,可能是断针,需要换针。 (3)检查打印头档片是否对位,重新安装到正确位置。 针式、一体培训资料全文共34页,当前为第11页。 针式打印缺笔画样张 缺划 针式、一体培训资料全文共34页,当前为第12页。 针式打印打印: 1、检查打印有没有脱或者暂停; 2、检查打印驱动程序端口是否正确; 3、检查打印数据线有没有故障; 4、检查打印的并口,或者电脑并口是否有故障(可以通过更换电脑来测试故障位置); 常见故障及解决方法(3) 针式、一体培训资料全文共34页,当前为第13页。 打印出文乱码: 1、检查打印作业,是不是有未打完的作业,如果有,清楚所有打印作业,并关闭打印,重开打印测试。 2、检查打印的仿真语言是否与所安装驱动相对应; 3、更改电脑主板并口模式,一般在主板BIO

111,088

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧