今天在维护一个系统时发现以下报错:
iconv(): Detected an illegal character in input string
经查发现是因为存在零宽空格字符,将字符串复制到sublime中发现下图中绿色框中的字符。

如何删除零宽空格
在网上找了一个解决方法:将字符串先转换为json,再将零宽空格的unicode码值替换为空。
$inputStr = json_encode($input);
if(preg_match("#\\\u200b#us",$inputStr)){
$inputStr = preg_replace("#\\\u200b#us",'',$inputStr);
$input = json_decode($inputStr,true);
}维基百科中称 0x200b 代表零宽空格,是一种不可打印的Unicode字符,用于可能需要换行处。
相关内容:
字符串