我有两个 utf-8 字符串:
当我比较这两个相同的空格分隔字符串时,结果为 false,这意味着它们不相同。
20
与 bin2hex
(ascii 编码的空格符号)mb_strtolower($string, 'utf-8')
处理呈现为 c2a0
与 bin2hex
(utf-8 空格) 我的问题是:
最佳答案
正如评论中所说 c2a0
是 no-break space和 20
正常 space
由于您可以在 bin2hex 中看到问题,您可以:
$str = hex2bin(str_replace('c2a0', '20', bin2hex($str)));
或者换一种说法:
$str = preg_replace('~\xc2\a0~', ' ', $str);
关于php - c2a0 和 20 字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34926154/