svn命令网页执行 svn提交日志乱码问题

<?php

header("Content-type: text/html; charset=utf-8");
include 'svnconf.php';

$target_dir = '/opt/wwwroot/svn/test/'; 

$cmd = "svn log --non-interactive --revision 16315  $target_dir --username $username --password $password 2>&1";

exec($cmd,$log_arr,$return);

print_r($log_arr);

?>

在执行svn log命令查看某个版本(版本号16315)的svn日志,在终端执行没有问题。

[root@svntest]# /opt/app/php5-fastcgi/bin/php  svncmd.php 
Array
(
    [0] => ------------------------------------------------------------------------
    [1] => r16315 | huli| 2015-04-10 15:20:14 +0800 (五, 2015-04-10) | 1 行
    [2] => 
    [3] => 增加编辑 详情按钮
    [4] => ------------------------------------------------------------------------
)

但是在网页执行却出现乱码

Array
(
    [0] => ------------------------------------------------------------------------
    [1] => r16315 | huli | 2015-04-10 15:20:14 +0800 (Fri, 10 Apr 2015) | 1 line
    [2] => 
    [3] => ?\229?\162?\158?\229?\138?\160?\231?\188?\150?\232?\190?\145 ?\232?\175?\166?\230?\131?\133?\230?\140?\137?\233?\146?\174
    [4] => ------------------------------------------------------------------------
)
查了下 需要设置脚本所在环境变量才可以正常显示

 LANG=zh_CN.UTF8

为了方便而且不影响其他业务 可以在执行svn log之前加一段代码 putenv("LANG=zh_CN.UTF8");

然后再执行,乱码问题解决

Array
(
    [0] => ------------------------------------------------------------------------
    [1] => r16315 | huli | 2015-04-10 15:20:14 +0800 (五, 2015-04-10) | 1 行
    [2] => 
    [3] => 增加编辑 详情按钮
    [4] => ------------------------------------------------------------------------
)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值