如何使用 JS (Node.js) 防止 HTTP 查询中允许使用 UTF8 字符串

How can I prevent UTF8 strings from being allowed in my HTTP queries using JS (Node.js)?

本文关键字:查询 许使用 字符串 UTF8 HTTP 防止 JS 何使用 Node js      更新时间:2023-09-26

我有一个MySQL表,其中用户名字段是拉丁1字符集。如果我使用 UTF8 字符串搜索此表,则会出现此错误:

Error: ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation 'like'

附带问题:这是因为我特别使用 LIKE 语句吗?

我觉得我问题的唯一解决方案是检查 HTTP 查询中的用户名参数是否是 latin1 兼容字符串。如果不是,则从 SQL 查询中省略它。

如何检查特定字符串是否与 JavaScript/Node.js 中的 latin1 等特定字符集兼容?

我意识到解决我的问题的一个很好的解决方案是使用 CONVERT 函数转换 SQL 中的编码。