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

时间:2015-01-07 21:25:50

标签: php mysql utf-8

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

我所做的一切似乎都无效,包括添加

 mysqli_set_charset($conn, "utf8");

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

使用 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;
        }