- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我熟悉不同的 MySQL 排序规则,我的数据库当前设置为 UTF8_general_ci,并且我使用 UTF8_unicode_ci 进行了半成功的搜索。我正在运行 mysql 5.6,我无法使用最新的排序规则,升级时很头疼。
我说半成功,因为 ご 在使用 UTF8_unicode_ci 时返回 こ;如果我能解决下面的大问题,我可以接受。
我想要实现的是搜索我的城市列并返回一行,因此“横滨”和“横滨”以及よこはま和ヨコハマ都在查询数据库时返回同一行。这可能吗?
最佳答案
这是一个难题,我怀疑您不能仅使用 MySQL 轻松解决它。
有一个程序叫做 Migemo它在不同的上下文中在一定程度上处理了这个问题。它生成一个正则表达式以将未转换的输入与文档匹配。你可以看到一个输出版本的在线演示 here .例如,输入“toukyou”的正则表达式是:
[とトト][うウウ][きキキ][ょョョ][うウウ]|とうきょう|当協会|東京|東教|toukyou|([tţťŧŢŤŦ]|t[¸ˇ-])([oòóôõöøǿōŏőǒǫǭÒÓÔÕÖØǾŌŎŐǑǪǬ]|o([ˋ`ˊ´ˆ^˜~¨/ˉ¯˘˝ˇ˛]|/[ˊ´]|[ˊ´]/|˛[ˉ¯]|[ˉ¯]˛))([uùúûüũūŭůűųǔǖǘǚǜÙÚÛÜŨŪŬŮŰŲǓǕǗǙǛ]|u([ˋ`ˊ´ˆ^˜~¨˚°ˉ¯˘˛ˇ]|¨[ˉ¯]|[ˉ¯]¨|¨[ˊ´]|[ˊ´]¨|¨ˇ|ˇ¨|¨[ˋ`]|[ˋ`]¨))([kķĸǩĶǨ]|k[¸ˇ])([yỳýÿŷỲÝŸŶ]|y[ˋ`ˊ´¨ˆ^])([oòóôõöøǿōŏőǒǫǭÒÓÔÕÖØǾŌŎŐǑǪǬ]|o([ˋ`ˊ´ˆ^˜~¨/ˉ¯˘˝ˇ˛]|/[ˊ´]|[ˊ´]/|˛[ˉ¯]|[ˉ¯]˛))([uùúûüũūŭůűųǔǖǘǚǜÙÚÛÜŨŪŬŮŰŲǓǕǗǙǛ]|u([ˋ`ˊ´ˆ^˜~¨˚°ˉ¯˘˛ˇ]|¨[ˉ¯]|[ˉ¯]¨|¨[ˊ´]|[ˊ´]¨|¨ˇ|ˇ¨|¨[ˋ`]|[ˋ`]¨))
由于 Migemo 用于匹配部分未转换的输入,它需要 ASCII 输入,因此您不能按原样使用它。然而,Migemo 的基本策略——将您的输入转换为匹配所有变体的正则表达式——可用于搜索您的 MySQL 数据库。
正如一位评论者所提到的,如果您想支持具有特殊罗马化的地名,这很难;例如,您是否需要同时识别“新桥”和“新桥”?如果您只是使用平假名输入,即使是“Tokyo”也需要异常(exception)。为此,我建议您建立自己的列表,可能使用 romaji data from JP Post .它不会处理所有变体,但会处理标准变体。
希望对您有所帮助。
关于mysql - 在 MySQL 中对日语字符(汉字、平假名、片假名)进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51490342/
我在 Eclipse 3.4.1 中有一个项目,我想在其中使用日语符号(如象形文字)。问题是这些符号无法在 Eclipse 中正确显示,我看到的是黑框而不是它们。 我对所有文件使用“Utf-8”编码。
我有一个 C++ 项目应该添加 到每一行的开头和到每一行的末尾。这适用于普通英文文本,但我有一个中文文本文件,我想这样做,但它不起作用。我通常使用 .txt 文件,但为此我必须使用 .rtf 来保存中
我正在尝试对中文文本进行文本分析。该程序在下面提供。我得到了带有不可读字符的结果,例如 滨烘暯镞ユ姤捐。如果我将输出文件 result.csv 更改为 result.txt,字符将正确为 人民日报社论
我有这段代码,但它只适用于英文字符 $( "input[name*='Name']" ).attr("placeholder","姓名"); 我的网页可以很好地显示其他中文字符,如果我将中文字符更改为
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或 include a mini
在 C# 窗口应用程序中,当我这样做时 select * from myTable where category = '牛奶' 或 select * from myTable where catego
我的数据库中有英文和中文字符,但是当我在 JSON 中检索时,中文字符不起作用。结果是“?”。有人可以帮助我吗? 0, "message" => 'Wrong user id'); } else {
Image to show the problem这是说明问题的代码: # -*- coding:utf-8 -*- text = u"严" print text 如果我在 VSCode 调试中运行上
美好的一天。 我在linux下直接打印带有汉字的文件时遇到问题。 我们使用CUPS来管理Linux上的打印机并通过a2ps发送打印命令。 我们的文件采用encode/unicode(UTF-8和ISO
效果如图所示: Default.aspx 复制代码代码如下: <table> <tr> <td class="s
我正在尝试将两个 double 值转换为 C++ 中的字符串,以便我可以使用 TRACE 在我的输出窗口中查看它们。我正在使用 Visual Studio 2017。这是我的主要代码: double
我正在尝试读取输入并仅在它是日文汉字时才传递它。根据http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml,这意味着 An
我需要在数据库中插入汉字,但它总是显示??? .. 示例: 插入此记录。 微波室外单元-Apple 然后就变成了??? 结果: ??????-苹果 我真的需要帮助...谢谢您的关心。 我使用的是 MS
我熟悉不同的 MySQL 排序规则,我的数据库当前设置为 UTF8_general_ci,并且我使用 UTF8_unicode_ci 进行了半成功的搜索。我正在运行 mysql 5.6,我无法使用最新
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
我是一名优秀的程序员,十分优秀!