作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这个问题是指在索引中存储本地名称的国际字符规范化。我想大体讨论这个问题,也想听听 Java 中可能的现有解决方案(类/库)。
在全局应用程序中,用户输入他们的姓名,应用程序将每个姓名写入搜索索引,以便其他用户可以搜索姓名并找到用户。在英语中微不足道,但在许多其他语言中和/或在全局范围内并不那么微不足道,因为特定字母需要音译和/或可以以多种形式书写。例如,德语名称 Häußler 可以写成
Java 有
Normalizer.normalize(entry, Normalizer.Form.NFD) // NFC
类,但这在许多情况下似乎不起作用和/或我不知道如何正确使用它。好书也在这里http://en.wikipedia.org/wiki/Unicode_equivalence但我找不到足够的关于这个主题的捆绑信息。
有没有人知道现有的开源项目中有人已经解决了这个问题?任何可以使用的库?网站?
你们日本人、中国人、阿拉伯人等如何将你们的语言音译成英语?像 Facebook 这样的大型社交网络如何音译他们的用户名以确保他们可以在国际上找到?
最佳答案
您走在正确的轨道上 - 您可能想要添加的一个搜索词是“规范的”。
我相信ICU project是处理此问题的最强大的开源软件。对 normalization components 特别感兴趣,特别是 NFKC_Casefold 的实现,它处理德语 ß 示例等。
关于java - 如何为索引准备 Unicode 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685725/
我是一名优秀的程序员,十分优秀!