我正在为移动设备制作 RESTful API,并将 node js
用于。我的数据库是 MySQL 5.7.24
。但是,当任何带有表情符号的请求都会抛出 “Internal server error”
。我已将整个数据库更改为 utf8mb4
并将列更改为 utf8mb4_unicode_ci
。我哪里出错了?
即:
假设我的 table
有两列 (Id, Review)
,当我收到像 (2,'OkThisIsFine')
这样的数据请求时工作,但当请求类似于 (3,'ThisIsNOTwork☹')
时,它会显示 “Internal server error”。
最佳答案
第 11 条评论终于提供了足够的信息来回答问题。
当您创建该存储过程时,您并未使用 utf8mb4
。要证明这一点(或否决我的答案),请执行 SHOW CREATE PROCEDURE proc_name
。接近尾声时,它会说,例如 character_set_client: utf8
。重建它:
DROP PROCEDURE ...;
SET NAMES utf8mb4;
DELIMITER //
CREATE ... PROCEDURE ...
//
DELIMITER ;
关于mysql - 如何在使用文本存储表情符号时修复 "Internal server error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54012608/