这是我的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)
Run Code Online (Sandbox Code Playgroud)
这是我的评论架构:
+------------+---------------+------+-----+---------+----------------+
| 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 | | | |
+------------+---------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
继承我的输出sql query:
ERROR 1366(HY000):字符串值不正确:'\ xF0\x9F\x98\x9C'表示第1行的"注释"列
还不太清楚如何解决这个问题.可能会过滤注释文本using php以适应字符串值.
dus*_*uff 23
您的环境中的某些内容未设置为正确处理Unicode文本.
F0 9F 98 9C在您的查询中错误地表示为"ðŸ〜 - " 的字节序列是Unicode字符""的UTF8编码,FACE WITH STUCK-OUT TONGUE和WINKING EYE.(也就是说,它是表情符号.)
要正确存储此字符,您需要确保:
SET NAMES utf8mb4在连接时使用选项,类似地启用它).utf8mb4.将 mysql 连接从“SET NAMES utf8”更改为“SET NAMES utf8mb4”
\n\n在 PHP 中,使用 mysqli_set_charset 添加字符集,\n https://www.w3schools.com/php/func_mysqli_set_charset.asp
\n\n$conn = mysqli_connect("localhost","my_user","my_password","my_db");\nif (mysqli_connect_errno()) {\n echo "Failed to connect to MySQL: " . mysqli_connect_error();\n}\n\n// Change character set to utf8\nmysqli_set_charset($conn, \xe2\x80\x9dutf8mb4\xe2\x80\x9d);\nRun Code Online (Sandbox Code Playgroud)\n\n或者如果您使用 NodeJS,(这是额外信息,以防万一)
\n\ndb_config = { \n host: "localhost",\n user: "user",\n password: "password", \n database: "mydb", \n charset: "utf8mb4_unicode_ci"\n}\nvar conn = mysql.createConnection(db_config)\nRun Code Online (Sandbox Code Playgroud)\n\n另外,请确保表的列和表本身具有相同的 uf8mb4 编码。
\n\nALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4;\n\nALTER TABLE my_table\n CHANGE COLUMN my_column my_column TEXT\n CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
19877 次 |
| 最近记录: |