Php 为什么';这不管用吗?

Php 为什么';这不管用吗?,php,iconv,Php,Iconv,犯错误 应打印:我的简历取决于iconv库 在Ubuntu 10.10中,我得到以下信息: setlocale(LC_ALL, 'en_US.UTF8'); $string= 'ṃỹṛèşưḿĕ'; echo iconv('UTF-8', 'ASCII//TRANSLIT', $string); 但在另一台使用GNU iconv的机器上: $ php -i | egrep "iconv (implementation|library)" iconv implementation => g

犯错误


应打印:我的简历取决于iconv库

在Ubuntu 10.10中,我得到以下信息:

setlocale(LC_ALL, 'en_US.UTF8');
$string= 'ṃỹṛèşưḿĕ';
echo iconv('UTF-8', 'ASCII//TRANSLIT', $string);
但在另一台使用GNU iconv的机器上:

$ php -i | egrep "iconv (implementation|library)"
iconv implementation => glibc
iconv library version => 2.12.1
$ php a.php 
myresume
iconv完成的音译在不同的实现中并不一致。例如,glibc实现将
é
翻译成
e
,但libiconv将其翻译成
'e

除非我们在PHP中支持ICU音译(下一个版本将提供),否则将没有可靠的方法来进行这些转换(尽管如果您只想删除标记,则有)。在PHP的开发版本中,使用intl扩展,可以执行以下操作:

iconv implementation => libiconv
iconv library version => 1.11
# php a.php 
Notice: iconv(): Unknown error (88) in /tmp/root/a.php on line 5
<?php
$t = Transliterator::create("latin; NFKD; [^\u0000-\u007E] Remove; NFC");
echo $t->transliterate('Ναδάλης ṃỹṛèşưḿĕ');
Nadales myresume