php exec コマンドで UTF-8 ファイル名に対処する必要があります。問題は、phpexec
コマンドが utf-8 を理解していないように見えることです。私は次のようなものを使用します:
echo exec('locale charmap');
戻り値ANSI_X3.4-1968
このSOの質問を見ると、解決策は次のようになります。
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を設定するにはどうすればよいですか?