我正在尝试通过下面的脚本加载this website的元描述(它有一个德语字符):
$page_content = file_get_contents($uri);
$dom_obj = new \DOMDocument();
$dom_obj->loadHTML(mb_convert_encoding($page_content, 'HTML-ENTITIES', 'UTF-8'));
然而,当尝试将其写入MySQL数据库时,Laravel说它在尝试将其写入数据库时遇到了问题:不正确的字符串值"\xC3“(这是德语字符)
当我简单地执行以下操作时,向db写入数据就可以了。但字符显示不正确(?而不是ü)
$dom_obj->loadHTML($page_content)
到目前为止,这个问题只出现在这个网站上,我用同样的角色尝试过的其他网站都可以工作。你能想出一个可能的原因并解决吗?谢谢!
编辑:
当我使用PHPs "utf8_decode“来解码我在没有mb_convert_encoding的情况下通过$dom_obj获得的元描述时,它工作得很好。当我这样做时,以前工作的所有其他网站都会导致错误(如:不正确的字符串值:'\xE4t')
https://stackoverflow.com/questions/51141207
复制相似问题