如何解决插入表中的错误

时间:2015-12-11 11:34:50

标签: php mysql database

我需要修复此错误。当前的PHP MySQL库版本5.1.72和排序规则是utf8_general_ci

Error inserting into table: notes: Query Failed: INSERT INTO notes (id,date_entered,date_modified,modified_user_id,created_by,name,file_mime_type,filename,parent_type,parent_id,portal_flag,embed_flag,deleted)

VALUES 
('caff0041-48a4-218d-c596-566a8b42549b','2015-12-11 08:38:26','2015-12-11 08:38:26','e982b37c-4773-11e3-9be9-00215aeeb772','e982b37c-4773-11e3-9be9-00215aeeb772','OutlookEmoji-.png','image/PNG','OutlookEmoji-.png','Emails','c1ba0bf7-cb38-701a-270e-566a8b7a23c2',0,0,0): MySQL error 1366: Incorrect string value: '\xF0\x9F\x98\x8A.p...' for column 'name' at row 1

提前致谢。

3 个答案:

答案 0 :(得分:0)

为您的数据库设置数据库归类为utf-8

您收到错误,因为您正在插入OutlookEmoji-.png

更改排序规则后,运行查询。

答案 1 :(得分:0)

看起来您尝试在字段名称中插入无效字符:OutlookEmoji-.png

答案 2 :(得分:0)

This may answer your question。即,

  

如果你有MySQL 5.5或更高版本,你可以改变列编码   utf8到utf8mb4。此编码允许存储字符   占用UTF-8中的4个字节。

但是你有5.1,

  

虽然您的排序规则设置为utf8_general_ci,但我怀疑是   数据库,表或甚至列的字符编码可能是   不同。它们是独立的设置。