比较不同语言的字母

Jam*_*mes 1 php character-encoding

在不同的字母表中有一些字母,看起来完全一样.

喜欢A拉丁语和?西里尔语.

当我通过utf-8脚本调用其中一个时,他们是否扮演同样的角色?

如果不是,如何知道给定字母的代码?

Art*_*cto 7

目前尚不清楚"扮演同样的角色"是什么意思.

它们肯定不是同一个角色,尽管它们看起来似乎是在渲染时.

这与许多字体中"l"(小写L)和"I"(大写i)之间的混淆完全类似.

如果你想要考虑A?相同,你必须将西里尔语音译成拉丁语.不幸的是,PHP对音译的支持是粗略的.您可以使用iconv,这不是很好 - 如果您音译为ASCII,您将丢失无法用ASCII表示的所有内容.

Unicode PHP实现(本应该是PHP 6)有一个名为str_transliterate使用ICU音译API的函数.希望音译将在未来添加到intl扩展(当前的ICU包装器)中.