gpt4 book ai didi

MySQL 在搜索 'ずる' 时返回 'する'(日语)

转载 作者:行者123 更新时间:2023-11-30 21:29:09 28 4
gpt4 key购买 nike

我有一个包含日语单词的数据库。我很困惑,因为这个查询:

SELECT japanese
FROM my_table
where japanese = 'する'

返回两个结果:

ずる
する

我试图查看 documentation但无法弄清楚发生了什么或如何纠正它。以下是使用文档中推荐的查询进行设置的一些信息:

 SELECT CHARACTER_SET_NAME, DESCRIPTION
FROM INFORMATION_SCHEMA.CHARACTER_SETS
WHERE DESCRIPTION LIKE '%Japanese%'
ORDER BY CHARACTER_SET_NAME;

返回:

'CHARACTER_SET_NAME','DESCRIPTION' 
'cp932', 'SJIS for Windows Japanese'
'eucjpms', 'UJIS for Windows Japanese'
'sjis', 'Shift-JIS Japanese'
'ujis', 'EUC-JP Japanese'

以及以下查询:

SHOW VARIABLES LIKE 'char%'

返回:

character_set_client    utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8

这真的超出了我的技能范围。如果有人能指出我正确的方向,那将是一个很大的帮助。

谢谢。

最佳答案

您应该使用区分重音的排序规则:

SELECT japanese
FROM my_table
where japanese = 'する' COLLATE utf8mb4_ja_0900_as_cs;
-- alternatively binary collation: COLLATE utf8mb4_bin

db<>fiddle demo


Introducing as_cs collations:

In MySQL 8.0.0 we improved our character set support with the addition of new accent and case insensitive (ai_ci) collations. In MySQL 8.0.1 the corresponding accent and case sensitive collations (as_cs) have also been added, as well as a Japanese collation

关于MySQL 在搜索 'ずる' 时返回 'する'(日语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232294/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com