• 7709阅读
  • 3回复

[提问]关于qt+ubuntu驱动热敏打印机 [复制链接]

上一主题 下一主题
离线futurepeter
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-20
qt串口编程驱动热敏打印机,论坛哪位仁兄做过没。具体问题应该是:打印机支持gb2312字符编码,ubuntu默认utf-8.不一致导致打印汉字全是乱码。探索解决过程如下
1、qt中提供的qtextcodec类将字符串转成gb2312输入打印机  ---乱码
2、ubuntu默认字符方式改成gb2312(或其他系列),试过很多方法   从环境变量及locale命令看到默认字符编码已经更改了,但是打印机依旧是乱码。  一个奇怪现象是qt程序在pc上用gb编码显示中文也不正常,utf8就正常了。  就是不确定是ubuntu默认编码没改正确 还是qt本身的问题。


求论坛高手指点解决方法。先谢谢了!
离线l270378034

只看该作者 1楼 发表于: 2011-01-21
在mian函数里加
[code][/code]QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
linux_qt
离线l270378034

只看该作者 2楼 发表于: 2011-01-21
打印机应该是支持UTF-8的 我们用的网口的打印机支持UTF-8
linux_qt
离线XChinux

只看该作者 3楼 发表于: 2011-01-21
将你的数据统一转成GB编码,然后打印没问题吧?
如果是先生成PDF,再打印有问题没有?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个