2015-01-07 35 views
2

我將數據從UTF8-general-ci表插入另一個UTF8-general-ci表。這些是文章。由於隨機使用法語標題或短語(如「àla」),大約20或30個不會插入。我收到的錯誤是錯誤說明:不正確的字符串值:'\ xF4t l'\ xE9 ...'。php錯誤描述:錯誤的字符串值:' xF4t l' xE9 ...'插入

沒有我這樣做似乎工作,包括添加

mysqli_set_charset($conn, "utf8"); 

如果兩個表都已經UTF8,還有什麼我能做的插入與法國短語這些隨機文章?

回答

4

您在問題中引用的字節(F4和E9)在UTF-8數據中無效。部分或全部數據可能實際上是ISO-8859-1 - 您需要使用mb_convert_encoding()iconv()將其轉換爲UTF-8。

+0

在utf8_encode()中包裝字段確實允許插入。謝謝@ – caro

+0

utf8_encode()做了這個工作,謝謝 – Ajji

1

試試這個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; 
     }