【发布时间】:2013-11-24 02:05:36
【问题描述】:
我经营一个社交网络,要求 unicode 用户名是唯一的(如预期的那样)。
一些有创意的用户已经开始使用西里尔文(和其他)unicode 字符来创建视觉上等效(但 unicode 不同)的用户名。
例如,他们将使用西里尔小写字母“а”,看起来与罗马字母相同。
有谁知道在 Java 中自动转换这些光学等效字符的方法?如果机制已经存在,我宁愿不必手动创建转换表。
【问题讨论】:
-
这可能取决于使用的字体。棘手的问题。
-
引用的答案并不能解决手头的问题。第一个答案只是删除变音符号并将剩余的非 ASCII 字符转换为“?”。关于 Normalizer.Form.NFD 的第二个答案根本不影响西里尔字母“a”。
标签: java string transliteration