我们最近有一个用户输入英文文本,但它似乎是在为西里尔文设置的计算机上完成的,因为一些字母如“a”实际上是CYRILLIC SMALL LETTER A,而不是LATIN SMALL信A。
我认为normalising会将西里尔字母转换成拉丁语等价物,但它不会(我猜它们只相当于它们的显示方式而不是它们的含义)。
这是一个常见的问题 - 为西里尔语设置计算机的用户可能会写英文,但用西里尔字母代替吗?
一般来说,发现这种情况并进行适当转换的安全方法是什么?
答案 0 :(得分:0)
要检测西里尔字母只需使用正则表达式匹配[\ p {IsCyrillic}]。更通用的方法是搜索任何非拉丁字符。 你有一个匹配,你需要用他们的拉丁语替换字符。