我用DBComm做串口通信,但是接收的内容却不能显示汉字,这是为什么?
数字和符号都正常,只有汉字显示为乱码(我用的是二维码),是不是DBComm不支持汉字? 求解 问题点数:20、回复次数:8Top
1 楼macd004()回复于 2006-01-04 22:45:03 得分 0
自已顶Top
2 楼macd004()回复于 2006-01-04 22:45:20 得分 0
再顶Top
3 楼GXY2005(民工甲:杀富济贫,打土豪分田地)回复于 2006-01-05 08:30:26 得分 0
DBComm是什么东西?不是微软的控件吧?Top
4 楼knight_temp(雪狼_k)回复于 2006-01-05 09:45:32 得分 15
DBComm 跟汉字没有关系,你首先看一下你的汉字的存储单元的每个字节的最高位是不是
被设置成“0”了,然后就是你再把要显示的字符串的指针依次向后或向前移一位再显示看,
我想应该可以找到问题所在。Top
5 楼macd004()回复于 2006-01-05 11:18:46 得分 0
to knight_temp(雪狼_k) :太不懂 我在超级终端里面可以识别出来Top
6 楼knight_temp(雪狼_k)回复于 2006-01-05 11:47:01 得分 0
超级终端里可以看到说明数据没有错,看来显示的时候你要判断汉字在什么地方开始了。
你的接收的字符串里假设有别的非汉字字符,你最好分开显示,因为汉字是双字节编码,
如果显示的时候找不到正确的双字节开始的位置,或你显示的字符串不是偶数个数,都
会出现乱码的。Top
7 楼whyt(whyt)回复于 2006-01-06 09:41:23 得分 5
扫描枪,扫描后有的会自动加个回车符,是否程序里有转义的问题呢。Top
8 楼macd004()回复于 2006-01-07 18:53:52 得分 0
已经解决了 我放弃用DBComm了, 最后还是引用了MsComm组件,就成了
感谢大家的回答 这就结帐Top




