用php做一个svn管理工具,更新操作时碰到中文文件名会提示
svn: Can't convert string from native encoding to 'UTF-8':
解决思路:
网络上查都说要设置 LC_CTYPE=en_US.UTF-8 于是php输出当前配置
exec('locale',$output);
var_dump($output);
发现LC_CTYPE="POSIX",
查了下手册发现PHP有setlocale()
setlocale('LC_CTYPE','en_US.UTF-8');
exec('svn up ...');
还是报错,是setlocale()不灵还是用法不对?
不管了,再改造试下。
exec('export LC_CTYPE="en_US.UTF-8"');
exec('svn up ...');
还是不灵,倒。
继续改造,合并两个exec()为一次
exec('export LC_CTYPE=en_US.UTF-8 && svn up ...');
搞定!汗