我有两个utf-8字符串:
当我比较那两个相同的空格分隔的字符串时,结果是假的,这意味着它们不相同。
20
bin2hex
(ascii编码空格符号)mb_strtolower($string, 'utf-8')
处理的字符串呈现为c2a0
bin2hex
(utf-8空格)我的问题是:
答案 0 :(得分:1)
正如评论c2a0
中所述no-break space而20
正常space
既然您可以在bin2hex中看到问题,那么您可以:
$str = hex2bin(str_replace('c2a0', '20', bin2hex($str)));
或换句话说:
$str = preg_replace('~\xc2\a0~', ' ', $str);