给记事本的编码格式坑了一把
作者: 葛屹肃 | 日期: 2023-02-24 | 分类: 个人杂谈
今天调试程序时,被记事本的编码格式狠狠地坑了一把,担误了将近2小时的时间,事件的经过如下。
今天在客户那边修改标签打印的功能,使用的是WIN10系统,而程序使用了ini文件来配置参数,其中,标签模板的路径就设置在ini文件。
而标签打印的功能,之前已经做好,客户一直在使用的。这次无非将打印功能升级,让其能打印出更复杂的标签。
在客户这边有个麻烦,就是无法在本机,原因是本机的标签打印软件codesoft早已过期,已无法使用。
当功能完善后,放在客户的WIN10系统测试时,操作过程没有报错,就是标签打印不出来。
之后,输出错误代码,在打印过程中,分段记录错误代码,看看运行至那一段代码时出错。捕捉到是打印标签模板时就出错,然后输出标签模板的路径,发现是乱码。
而打开ini文件,发现标签模板并没有问题,为何程序调用时会出来乱码呢?经搜索得知,原来ini使用记事本打开时,保存为UTF-8编码,而默认编码是ANSI,我尝试将ini文件保存为ANSI后,测试一切正常。
结论,就是记事本的UTF-8编码惹的祸,UTF-8对于WEB编程是很友好的,但是对于WINDOWS编程有点不兼容,当然,这是可以处理的,需要在读取数据时作转码处理。当然,更方面的办法就是将文件保存为ANSI格式,问题将迎刃而解。
版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/3024.html
文章链接:https://www.geyisu.com/3024.html