どのように回避すれば良いのでしょうか?
test.sh (UTF-8 LF)
--------
env LANG=ja_JP.UTF8 echo "添付ファイル化されてしまう" | nkf -w8 -Lu | tr -d '\r' | mail -s "日本語" 'myaddress@example.com'
--------
このスクリプトをSSH接続してシェルから実行する
$ test.sh
と、文字化けせずにメール受信できるのですが、
cronから実行すると
日本語部分がクエスチョンマーク(?)に文字化けしてしまいます。
cronジョブのシェルスクリプトで日本語メール送信
するのはどうすれば良いのでしょうか?
詳細な原因は不明だが、コマンドラインからの実行がOKなのなら環境変数の問題が一番にあがってくる。
提示されているコマンドだと環境変数 LANG が適用されるのは echo コマンドだけなので
その他のコマンドにはログインユーザーの環境変数が使用されていると思われる。
#!/bin/sh export LANG=ja_JP.UTF8 echo "添付ファイル化されてしまう" | nkf -w8 -Lu | tr -d '\r' | mail -s "日本語" 'myaddress@example.com'
としてみて、それでもダメなら LANG を他の値に変えてみては同でしょうか?
ありがとうございます!
レンタルサーバのcronなのでテストに時間がかかりますが試してみます。
ありがとうございます!!