我正在使用mysql2从节点连接到mysql数据库,并且一直在经历间歇性的非法混合排序错误--参见这个问题。数据库的排序规则是utf8mb4_0900_ai_ci。
我尝试将charset: 'utf8mb4_0900_ai_ci'添加到我的连接配置中:
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'test',
charset: 'utf8mb4_0900_ai_ci'
});基于这个答案的字符集和排序规则是不可互换的,这意味着'utf8mb4_0900_ai_ci‘是一个无效的字符集值,但是它似乎解决了这个问题,而且我更喜欢在连接级别上工作的解决方案,因为在我的查询中(如建议的这里)对单个列设置排序规则更干净。
这是否解决这些问题的有效办法?如果没有,是否有更好的解决办法?
数据库的字符集是utf8mb4。
发布于 2022-04-29 23:13:23
字符集:“utf8mb4_0900_ai_ci”
这是一份校对。“字符集”是utf8mb4。
"connection“是指在客户端中使用的编码(字符集)。必要时,MySQL将在字符集之间进行转换,但它基于连接字符集和列字符集。
https://stackoverflow.com/questions/72056165
复制相似问题