Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP调用iconv会在Apache和命令行中产生不同的结果_Php_Symfony_Iconv_Transliteration - Fatal编程技术网

通过PHP调用iconv会在Apache和命令行中产生不同的结果

通过PHP调用iconv会在Apache和命令行中产生不同的结果,php,symfony,iconv,transliteration,Php,Symfony,Iconv,Transliteration,我正试图使用iconv删除口音的名字使用这个功能 $name = iconv('UTF-8', 'ASCII//TRANSLIT', $original) 因此,如果$original是“šñć”,我希望是“snc” 通过命令行中的PHP脚本运行此函数确实会产生预期的结果,但是在Apache web服务器(在同一台机器上)的Symfony 2应用程序中运行相同的函数会从输出字符串中删除所有重音字符,因此“Bijelić”变为“Bijeli” 哪些因素可能会影响此操作,如何在Symfony中调用

我正试图使用iconv删除口音的名字使用这个功能

$name = iconv('UTF-8', 'ASCII//TRANSLIT', $original)
因此,如果
$original
是“šñć”,我希望是“snc”

通过命令行中的PHP脚本运行此函数确实会产生预期的结果,但是在Apache web服务器(在同一台机器上)的Symfony 2应用程序中运行相同的函数会从输出字符串中删除所有重音字符,因此“Bijelić”变为“Bijeli”


哪些因素可能会影响此操作,如何在Symfony中调用此函数以获得所需的结果?谢谢

因此,事实证明,Apache和CLI的语言环境设置并不相同

调用setlocale(LC_CTYPE,“en_US.utf8”)生成预期结果


如何在PHP或Apache中设置
LC\u CTYPE
。我发现/etc/apache2/envvars正在更改区域设置

如果您在两种环境中打印phpinfo()的输出的iconv部分并进行比较,可能会有所帮助。检查本地在apache和cli中是否不同可能重复。当使用iconv时,必须设置区域设置。@forgottenbas-我确实看到了这个问题,但是我使用CLI得到了正确的结果,所以我不认为iconv版本有问题,尽管我可能是错的。@1ed-在这两种情况下,区域设置的设置如下所示
intl.default\u locale=en