c++ - 索引字符串和国际化

标签 c++ string internationalization indexing

我最近提出了一种用于查找重复客户记录的索引算法。简而言之,这一切都非常有效。

但是,我的问题是我想找到“Diviér”应该匹配“Divier”,或者“Aether”应该匹配“Æther”。 没问题,因为使用 libicu 或 boost::locale 可以删除变音符号,而问题是使用 wstring。 然而,这是我的问题:规范化/拉丁化一个词会改变它的意思,匹配可能不再有意义。我想就这是否可以接受名称提供一些意见...

另外,如果有人有中文名字怎么办?这不会以这种方式归一化,对吗?

对于如何解决这个问题,您有什么建议吗?

最佳答案

您应该更多地查看地址而不是名称。最后,名称可能会产生误导。例如。根据国家/地区的不同,中文、俄语或日文字符的转录可能会有所不同。然后有时名称字段会很短以捕获一个人的全名(尤其是印度名字),这会导致任何一种看似随机的缩写。有时人们会省略中间名,有时则不会。有时会出现正确但不同的名称的拼写错误。

所以在我看来,名称应该是查找重复项中最不重要的标准。

关于c++ - 索引字符串和国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15039912/

相关文章:

c++ - boost::posix_time::ptime 是固定大小的吗?

c++ - OpenMP omp_get_wtime g++ 32 位

c++ - 给定代码示例中 vector::push_back() 中的 "the argument is copied (or moved)"究竟意味着什么?

internationalization - spree - i18n gem 问题

java - 如何使用Spring的i18n机制?

python - 如何在 Django 模型/数据库中分离语言

c++ - 单例中的所有内容都可以是静态的吗?

python - 忽略转义序列

java - token - Java 字符串

python - 我无法在 Python (PyCharm) 中输入字母 "&"它用空格替换它 {BUG}