与这个问题相关,但更深入。我正在运行如下命令:
foreach $dir (@dirs) {
$cnt = `svn st $dir | wc -l`;
if($cnt > 0){
$content .= "$dir\n";
$mods++;
}
}
但是,该目录包含非 ASCII 文件,因此当区域设置不正确或未设置时会引发错误。
在 perl 中设置我需要的语言环境的正确方法是
setlocale(LC_CTYPE, 'en_US.UTF-8');
但是,这似乎不会影响svn st
命令,因为当 perl 脚本未在具有正确语言环境设置的终端中运行时,仍然会发生语言环境错误。