人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

cronで日本語メール送信すると文字化けします。
どのように回避すれば良いのでしょうか?

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ジョブのシェルスクリプトで日本語メール送信
するのはどうすれば良いのでしょうか?


●質問者: zd2
●カテゴリ:コンピュータ インターネット
✍キーワード:echo example.com LF nkf sh
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●100ポイント ベストアンサー

詳細な原因は不明だが、コマンドラインからの実行がOKなのなら環境変数の問題が一番にあがってくる。

提示されているコマンドだと環境変数 LANG が適用されるのは echo コマンドだけなので

その他のコマンドにはログインユーザーの環境変数が使用されていると思われる。

#!/bin/sh
export LANG=ja_JP.UTF8
echo "添付ファイル化されてしまう" | nkf -w8 -Lu | tr -d '\r' | mail -s "日本語" 'myaddress@example.com'

としてみて、それでもダメなら LANG を他の値に変えてみては同でしょうか?

◎質問者からの返答

ありがとうございます!

レンタルサーバのcronなのでテストに時間がかかりますが試してみます。

ありがとうございます!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ