首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ASCII查询mysql utf-8表

如何使用ASCII查询mysql utf-8表
EN

Stack Overflow用户
提问于 2015-05-12 08:09:26
回答 3查看 781关注 0票数 1

我已经为罗马尼亚语、捷克语、匈牙利语、波兰语、法语、德语、斯堪的纳维亚语言(即欧洲字符,但相当非ASCII)中的字符创建了一个mysql 5.6表,列编码为utf-8。

然而,我想使用ASCII字符来查询这个列--例如在like子句中--以便ă、u、ș,ț、ü、接续地使用a、e、i、o、u、s、t等查询字符。

这可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-12 22:51:33

utf8排序中的排序规则中,有一个用于知道什么字母映射为“相等”的备忘单,它同意,对于任何排序规则,Ł不映射到Lgeneral_ciZ之后对其进行排序;utf8_unicode_520_ci使用L对其进行排序;其余的在M之前排序。

polish_ciĘ视为与其他E-like字符不同的字符。Ą也是。波罗的海国家倾向于将某些重音辅音分开。

polish_ci中,Ń (十六进制C584)在N之后和O之前进行排序;其他排序规则则将其处理为N

utf8_unicode_520_ci可能是您最好的校对。

此外,您还可以考虑“组合”重音--其中两个utf8‘字符’“组合”成一个字符。utf8_unicode_ci为他们中的大多数人整理了“正确”,就像这里所看到的那样。

票数 0
EN

Stack Overflow用户

发布于 2015-05-12 08:18:18

好吧,我不认为用任何传统的方法只使用SQL是可能的。您只能编写查询预处理器,这将自动替换为欧洲的ascii字符。https://php.net/manual/en/function.str-replace.php -假设您使用的是PHP,但仍然需要将每个查询都提供给它。

票数 0
EN

Stack Overflow用户

发布于 2015-05-12 08:47:23

我找到了我的问题的部分答案:

如果您为该列定义的字符集是utf8_general_ci,,那么使用平面a、e、o、u的查询将找到许多(如果不是所有的话) a、e、o、u的字符集。我甚至发现 n 在Wołoszyńska使用平原n。

不幸的是,在同一个单词中没有找到小写的L“带斜杠”。

这个答案是由dddd的答案这里提出的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30185208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档