我就不排版了,顺着写!
最近项目中客户要求用pdf417二维码,将二维码打印在文件封皮上,具体打印这块不说了,现在说说中文二维码乱码的问题。
一开始就用zing动态库生成二维码,感觉很方便,但涉及到中文,识别就出现乱码了。在网上查呗。各种第三方控件,前前后后我用了zxing.net、pdf417lib.cs、MakeTwoBarCode、还有慧都控件库里面的二维码控件等等。但。。。。一遇到中文都是乱码。没办法又回到了zxing.net,根据网上查的资料及我自己的测试,去zxing官网上面down下来最新的源码(有需要的可以去我的上传的资源中下载),修改源码进行重新编译。因为用到的是pdf417二维码,所以这块我只改了pdf417的编码字符集,其他的类似。
网上有说到zxing可以在程序里面设置字符集,但是我试过了,没用!!!!!还是乱码!!!!好了,下面是修改的内容:
修改内容:
PDF417HighLevelEncoder.cs
internal static string DEFAULT_ENCODING_NAME = "UTF-8"; //原来的编码字符集是 ISO-8859-1
getEncoder() 方法直接返回 Encoding.GetEncoding("UTF-8"); 其他的都注释掉。
好了,就这么简单。这个是pdf417格式二维码的修改思路。其他二维码格式若有中文乱码修改应该差不多。zxing.net源码中有每种二维码的源码,根据自己二维码格式进行修改,修改完后重新编译。pdf417我编译好一个已经在项目中用到,需要的去我上传的资源中下载。我是用.net framwork 4.0编译的。
zxing.net最新源码:http://download.csdn.net/detail/bbboo_z/9857461
解决中文乱码问题,.netframwork4.0 重新编译的 zxing.dll:http://download.csdn.net/detail/bbboo_z/9857452