您当前的位置: 首页 >  php

漏刻有时

暂无认证

  • 0浏览

    0关注

    717博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

解决php中字符串输出一样但比较不相等(编码不同导致长度不一样)

漏刻有时 发布时间:2019-05-07 11:01:14 ,浏览量:0

问题:在phpstorm中用AES产生的一段加密代码,发现解密的过程中字符串的长度和编码方式都不一样了。代码如下:

header("Content-type:text/html;charset=utf-8");
$secret1 = "rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=";
$secret2 = 'rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=';
$secret3 = 'rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=';

var_dump(trim($secret1));
echo "";
var_dump(trim($secret2));
echo "";
var_dump($secret3);
echo "";
echo mb_detect_encoding($secret1, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));
echo "";
echo mb_detect_encoding($secret2, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));
echo "";
echo mb_detect_encoding($secret3, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));

在这里插入图片描述 通过CSDN问答,知道BOM问题,解决方案如下:

function removeBom($string)//去除BOM
{
	if (substr($string, 0, 3) == pack("CCC", 0xef, 0xbb, 0xbf)) {
		return substr($string, 3);
	}
	return $string;
}

function ConvertUTF8ToGB2312($str)//转化为统一编码;
{
	return iconv("UTF-8", "GB2312//IGNORE", $str);
}
关注
打赏
1661217259
查看更多评论
立即登录/注册

微信扫码登录

0.0425s