我有一个包含数十万个句子的数据库,我使用iconv从utf-8翻译。
在其中两个句子中,我收到以下错误:
Notice: iconv(): Detected an illegal character in input string
我尝试使用以下方法检查输入字符串:How to detect malformed utf-8 string in PHP?
$isUTF8 = mb_check_encoding($input, 'utf-8');
但是,这个函数返回true(即$ input是一个有效的utf-8),我仍然会收到这两个错误通知。
如何检测导致问题的句子?
答案 0 :(得分:0)
您的输入很可能是有效的UTF-8,但您的目标字符编码不包含您正在使用的其中一个字符。有关示例,请参阅utf8 to ISO-8859-1 not converting some characters correctly through Curl。
如果是这种情况,您可以使用//TRANSLIT
,如果替换是合适的,或者考虑是否可以以UTF-8提供内容。