今天在维护一个系统时发现以下报错:
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字符,用于可能需要换行处。
相关内容:
字符串