php 错误描述:不正确的字符串值:'\xF4t l'\xE9...' on insert

php Error description: Incorrect string value: '\xF4t l'\xE9...' on insert

我正在将数据从 UTF8-general-ci table 插入到另一个 UTF8-general-ci table。这些是文章。大约有 20 或 30 个不会插入,因为随机使用法语标题或短语,如“à la”。我收到的错误是 Error description: Incorrect string value: '\xF4t l'\xE9...'.

我所做的一切似乎都不起作用,包括添加

 mysqli_set_charset($conn, "utf8");

如果两个 table 都已经是 UTF8,我还能做些什么来插入这些带有法语短语的随机文章?

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

将其转换为 UTF-8

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