mysql - 如何在使用文本存储表情符号时修复 "Internal server error"

标签 mysql node.js amazon-rds collation

我正在为移动设备制作 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/

相关文章:

postgresql - 如何启用将所有查询记录到 postgreSQL AWS RDS 实例?

mysql - PDO - 如何更新用户名 = :user_id, 绑定(bind)值的名字

mysql - 当用户拥有特定大学时,如何获取用户结果并返回 1 或 0?

javascript - 如何使用输入在 Node.js 中运行批处理文件并获得输出

mysql - 在 Istio 中连接到 MySQL (AWS RDS)

amazon-rds - Cloudformation 获取 RDS 端点到 Route 53 CName 记录

java - 无法与远程机器上的 MySQL 数据库建立连接

php - 使用Where和Group By子句在Yii中的CDBCriteria中编写查询

node.js - MongoDB - 路径 "create"处的值 "_id"转换为 ObjectId 失败

node.js - 从另一条路线的路线内快速调用 GET 方法