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
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

濛濛

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值