一直试图解决这个问题2天,但没有成功:
我有一个非常简单的脚本,可以将法语字符转换为非法语字符:
setlocale(LC_CTYPE, 'fr_CA');
mb_internal_encoding("UTF-8");
$string = iconv('UTF-8', 'ASCII//TRANSLIT',"montréal");
echo utf8_decode($string);
远程服务器输出
蒙特利尔
本地机器上的相同脚本(运行PHP 5.4.4的mac上的MAMP)输出:
montr'eal
我尝试过:
1)确保计算机上安装了iconv,并尝试使用以下方法重新安装:$ brew install homebrew / dupes / libiconv(它说已经存在,我不应该触摸它)
2)比较phpinfo();远程和本地机器上的结果和php.ini文件,其中任何一个都没有提到iconv。但我确实注意到本地机器上没有intl扩展,所以不确定它是否相关。
3)尝试“/Applications/MAMP/bin/php/php5.4.4/bin/pecl install iconv” 它说:没有可用于包“pecl.php.net/iconv”
的版本有关在编译PHP时指示指令的更多信息,但这是我的想法。根据我的理解,这是默认情况下启用的标准扩展,那么是否有一些我不知道的显而易见的东西?
谢谢