php错误描述:字符串值不正确:'\ xF4t l'\ xE9 ...'插入

car*_*aro 4 php mysql utf-8

我将数据从UTF8-general-ci表插入到另一个UTF8-general-ci表中.这些是文章.由于随机使用法语标题或短语如"àla",大约20或30不会插入.我收到的错误是错误描述:字符串值不正确:'\ xF4t l'\ xE9 ...'.

我所做的一切似乎都没有效果,包括添加

 mysqli_set_charset($conn, "utf8");
Run Code Online (Sandbox Code Playgroud)

如果两个表都已经是UTF8,那么我还可以用法语短语插入这些随机文章吗?

dus*_*uff 8

您在问题(F4和E9)中引用的字节在UTF-8数据中无效.您的部分或全部数据可能实际上是ISO-8859-1 - 您需要使用mb_convert_encoding()或将其转换为UTF-8 iconv().

  • 将字段包装在 utf8_encode() 中确实允许插入。谢谢@ (3认同)

小智 5

utf8_encode()试试这个;

        $sql = "INSERT INTO table (col1)
        VALUES ('".utf8_encode($input_variable)."')";

        if ($conn->query($sql) === TRUE) 
        {
            echo "Inserted!";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
Run Code Online (Sandbox Code Playgroud)