为什么 Yii2 中的 Inflector::slug 从西里尔字母生成错误的拉丁字符串?

Why Inflector::slug in Yii2 generates wrong latin string from cyrillic?

Inflector::slug in Yii2 从西里尔字母生成不正确的字符串。

例如:автоматизация -> avtomatizacia,但必须是avtomatizaciyaзачислить -> zacislit,但必须是zachislit。如何解决?

我将其用于 SEO 网址。如果搜索引擎无法识别正确的关键字来改善我网站的 SEO 结果,这会产生影响吗?

因为它使用 ISO 9 来处理 cyrillic and aparently its ISO 9:1995 版本。 现在当我输入:

echo \yii\helpers\Inflector::transliterate('автоматизация', 'Cyrillic;  Any-Latin');
echo yii\helpers\Inflector::transliterate('зачислить', $a);

我得到:

avtomatizaciâ 
začislitʹ

与 ISO 9:1995 相同。 Slug 方法将 ASCII 字符转换为字符,例如 č 变为 c。

您仍然可以在需要的地方 str-replace 随心所欲。 或者你可以用另一种方式进行音译 like this.