
基本区和 A 区都是\u....的格式,B 区开始都是\u000.....了,发现 mysql 查询中 where 条件中有 B 区后面的字符,就会查询失败,具体症状是查出非常多的行,条件未被使用。
请问该怎么做?我试了 char 、undex 函数,还是一样的问题。
目前用的版本是 5.7.28 ,数据表和字段的校对规则都是 utf8mb4_general_ci,Google 后操作的一个语言支持查询结果如下:
SELECT CHARACTER_SET_NAME, DESCRIPTION FROM INFORMATION_SCHEMA.CHARACTER_SETS WHERE DESCRIPTION LIKE '%Chin%' OR DESCRIPTION LIKE '%Japanese%' OR DESCRIPTION LIKE '%Korean%' ORDER BY CHARACTER_SET_NAME; CHARACTER_SET_NAME DESCRIPTION big5 Big5 Traditional Chinese cp932 SJIS for Windows Japanese eucjpms UJIS for Windows Japanese euckr EUC-KR Korean gb18030 China National Standard GB18030 Simplified Chinese gbk GBK Simplified Chinese sjis Shift-JIS Japanese ujis EUC-JP Japanese 1 nowheretoseek OP 补充,问题是 select 时出现的,insert 并无问题; collation 改为 utf8mb4_unicode_ci 后,问题依旧。 |
2 nowheretoseek OP 应该跟驱动程序及其配置也没有关系,在 php 、pyton 或者 mysql 终端下,问题是一样的。 |