我需要使用 php exec 命令来处理 UTF-8 文件名。问题是 phpexec
命令似乎不理解 utf-8。我使用这样的东西:
echo exec('locale charmap');
返回ANSI_X3.4-1968
看着这个SO question,解决方案看起来像这样:
echo exec('LANG=de_DE.utf8; locale charmap');
但我仍然得到相同的输出:ANSI_X3.4-1968
另一方面 - 如果我在 bash 命令行上执行这个 php 命令:
php -r "echo exec('LANG=de_DE.UTF8 locale charmap');"
输出为 UTF-8。所以问题是:
- 为什么在 bash 和 apache_module/web 页面上执行 php 命令会有不同的结果?
exec
如果它在网站内作为 apache 模块运行,如何设置 UTF-8 ?