Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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 exec的编码问题_Php_Character Encoding - Fatal编程技术网

Php exec的编码问题

Php exec的编码问题,php,character-encoding,Php,Character Encoding,我正在使用exec和SVN log命令从公司内部网页上的SVN获取一些信息。该网页按要求为ISO-8859-1,但SVN服务器/exec输出为UTF8,特殊字符采用十进制编码,而非常规编码 据我所知,这使得不可能使用UTF8_解码或类似的功能,而且我也无法真正掌握返回的格式,否则str_replace就可以暂时作为一种解决方法。例如,据我所知,ä由?\195?\164表示,但我无法在输出中找到并替换该字符串,因此可能还有一些我遗漏的其他内容 我的SVN服务器是CentOS,而Web服务器是运行A

我正在使用exec和SVN log命令从公司内部网页上的SVN获取一些信息。该网页按要求为ISO-8859-1,但SVN服务器/exec输出为UTF8,特殊字符采用十进制编码,而非常规编码

据我所知,这使得不可能使用UTF8_解码或类似的功能,而且我也无法真正掌握返回的格式,否则str_replace就可以暂时作为一种解决方法。例如,据我所知,ä由?\195?\164表示,但我无法在输出中找到并替换该字符串,因此可能还有一些我遗漏的其他内容

我的SVN服务器是CentOS,而Web服务器是运行Apache的Debian,如果罪魁祸首可能在那里的话

伪码

exec('svn log PATH' , $output);
foreach ($output as data){
    $data = str_replace(array('?\195?\165', '?\195?\182'), array('å','ö'), $data);
    echo $data . '<br>';
}

foreach ($output as data){
    $data = utf8_decode($data);
    echo $data . '<br>';
}

foreach ($output as data){
    $data = mb_convert_encoding($data, 'ISO-8859-1', 'UTF-8');
    echo $data . '<br>';
}

回显的示例字符串是Buggfix f?\195?\182r 7.1.34,但应该是Buggfix för 7.1.34。。。使用mb_convert_编码函数会得到不同的结果吗?它有更广泛的选择,你可以利用。不,它是完全一样的,这是相当令人沮丧。更新了我的问题以反映这一点