gpt4 book ai didi

php - 为什么翻译不起作用?

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:42 24 4
gpt4 key购买 nike

setlocale(LC_ALL, 'en_US.UTF8');
$string= 'ṃỹṛèşưḿĕ';
echo iconv('UTF-8', 'ASCII//TRANSLIT', $string);

出错...

应该打印:myresume

最佳答案

这取决于 iconv 库。

在 Ubuntu 10.10 中,我明白了:

$ php -i | egrep "iconv (implementation|library)"
iconv implementation => glibc
iconv library version => 2.12.1
$ php a.php
myresume

但是在另一台使用 GNU iconv 的机器上:

iconv implementation => libiconv
iconv library version => 1.11
# php a.php
Notice: iconv(): Unknown error (88) in /tmp/root/a.php on line 5

iconv 完成的音译在不同的实现中不一致。例如,glibc 实现将 é 音译为 e,但 libiconv 将其音译为 'e

直到我们在 PHP 中支持 ICU 音译器(下一个版本),才会有可靠的方法来可靠地进行这些转换(尽管如果您只想删除标记,可以使用 other solutions )。在 PHP 的开发版本中,使用 intl 扩展名,可以这样做:

<?php
$t = Transliterator::create("latin; NFKD; [^\u0000-\u007E] Remove; NFC");
echo $t->transliterate('Ναδάλης ṃỹṛèşưḿĕ');

给出

Nadales myresume

关于php - 为什么翻译不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5048401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com