Utf 8 用来代替拉丁字符的西里尔字母

Utf 8 用来代替拉丁字符的西里尔字母,utf-8,utf,Utf 8,Utf,我们最近让一位用户输入英文文本,但这似乎是在一台为西里尔文设置的计算机上完成的,因为像“a”这样的一些字母实际上是西里尔文小写字母a,而不是拉丁语小写字母a 我原以为这会将西里尔语转换成拉丁语,但事实并非如此(我想它们只是在显示方式上而不是意义上是等价的) 这是一个常见的问题吗?计算机上安装了西里尔字母的用户可能在写英语,但用西里尔字母代替 一般来说,哪种安全的方法可以发现这一点,并对其进行适当的转换?要检测西里尔语,只需使用正则表达式匹配[\p{iscrylical}]。一种更通用的方法是搜索

我们最近让一位用户输入英文文本,但这似乎是在一台为西里尔文设置的计算机上完成的,因为像“a”这样的一些字母实际上是西里尔文小写字母a,而不是拉丁语小写字母a

我原以为这会将西里尔语转换成拉丁语,但事实并非如此(我想它们只是在显示方式上而不是意义上是等价的)

这是一个常见的问题吗?计算机上安装了西里尔字母的用户可能在写英语,但用西里尔字母代替


一般来说,哪种安全的方法可以发现这一点,并对其进行适当的转换?

要检测西里尔语,只需使用正则表达式匹配[\p{iscrylical}]。一种更通用的方法是搜索任何非拉丁字符。 如果已经匹配,则需要将这些字符替换为拉丁对应字符