这是我的sql:
INSERT INTO comments (createdate,userid,profileid,comment,status)
VALUES (1449503167,65704,65704,'@Mr_S66 Wish I was There For The Xmas Party I Miss My Studio 66 Family 😜',15)
这是我的评论架构:
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+----------------+
| commentid | int(11) | NO | PRI | NULL | auto_increment |
| parentid | int(11) | YES | | 0 | |
| refno | int(11) | YES | | 0 | |
| createdate | int(11) | YES | | 0 | |
| remoteip | varchar(80) | YES | | | |
| locid | int(11) | YES | MUL | 0 | |
| clubid | int(11) | YES | | 0 | |
| profileid | int(11) | YES | MUL | 0 | |
| userid | int(11) | YES | MUL | 0 | |
| legacyuser | int(11) | YES | MUL | 0 | |
| mediaid | int(11) | YES | | 0 | |
| status | int(11) | YES | | 1 | |
| comment | varchar(4000) | YES | | | |
| likes | int(11) | YES | | 0 | |
| dislikes | int(11) | YES | | 0 | |
| import | int(11) | YES | | 0 | |
| author | varchar(50) | YES | | | |
+------------+---------------+------+-----+---------+----------------+
这是我对 sql query
的输出:
错误 1366 (HY000):不正确的字符串值:第 1 行的“comment”列的“\xF0\x9F\x98\x9C”
不太确定如何解决这个问题。可能过滤评论文本 using php
以容纳字符串值。
原文由 somejkuser 发布,翻译遵循 CC BY-SA 4.0 许可协议
您环境中的某些内容未设置为正确处理 Unicode 文本。
字节序列
F0 9F 98 9C
在您的查询中错误地表示为“ðŸ∼œ”,是 Unicode 字符“😜”的 UTF8 编码,“吐舌头和眨眼的脸”。 (也就是说,它是一个表情符号字符。)要正确存储此字符,您需要确保:
SET NAMES utf8mb4
,或在连接时使用类似启用它的选项)。utf8mb4
。