PB12.6INI配置文件乱码问题(ansi|utf8)

环境: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文件后,就会报错的原因。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值