环境:pb12.6
问题 1(加解密字符串不一致):
如果使用加解密,带符号的字符串通过加密算法加密后,存到INI会乱码,实际存的和保存前的字符串不一致,造成解密后的字符串不正确。但不带符号的字符串不会出现这个问题 。
解决方法:
方法一:加密后的字符串,用base64编码后再保存。解密时再转换回来
方法二:INI编码用UTF8,注意第一行profilestring等都会乱码,windows不支持。所以UTF8格式文件一定要加个干挠行把第一行跳过。
ansi与UTF8区别
PB对UTF8支持不好。虽然特殊字符存UTF8编码不会乱码,但第一行有问题 ,无论是profilestring还是bat批处理,第一行都会乱码。
ansi编码对特殊字符会乱码。
最佳解决方案:
如果有加解密数据,最好用base64编码后再存到ansi编码格式的ini文件中。尽量不要使用UTF8
在windows环境下,用记事本打开任何一个文本文件,另存为utf-8格式后,这样文件就自动被加上了BOM头信息。
在utf-8编码文件中BOM在文件头部,占用三个字节,用来标识该文件属于utf-8编码,现在已经有很多软件识别BOM头,但还是有些不能识别BOM头,比如PHP就不能识别BOM头,这也就是用记事本编辑utf-8编码的PHP文件后,就会报错的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/35946.html