cronでjavaを起動する場合、javaの中でSystem.out.println("あああ");
としたログがroot宛のmail(/var/spool/mail/root)で文字化け(日本語部分が???)
となってしまいます。
30 5 * * * root java -cp /home/abc/java/ test1 | nkf --jis を試しましたが
上手くいきません。
画面表示はUTF-8からEUCへ変更しましたが、sendmailもeucとかに設定が必要なので
しょか?教えて頂けれると助かります。
Redhat Linux EP4
No.2ベストアンサー
- 回答日時:
> 問題なく「あああ」 と表示されますが、cronの中で
> 起動したjavaのログ内容の日本語部分のみ文字化け
> (???)となります。
なるほど、分かりました。
まず cron から実行されるプログラムに環境変数 LANG(=ja_JP.eucJP)を渡す必要があるのであれば、それを明示しなくてはなりません。単に java コマンドを実行するのではなく
LANG=ja_JP.eucJP java -cp ....
のようにするか、以下のような shell script を適当な名前で作成・保存してそれを実行しましょう。
----- ここから -----
#!/bin/sh
export LANG=ja_JP.eucJP
java -cp /home/abc/java/ test1
----- ここまで -----
※ 実行権限をつける(chmod 755 ...)のをお忘れなく。
これで多分、環境変数 LANG に ja_JP.eucJP がセットされた状態で java が起動できることでしょう。
次にメールでの文字化け、というところですがメールをどういう風に読みたいのでしょうか?
> vi /var/spool/mail/root
と書かれていますが、普通、メールをエディタ(vi)では読まないですよ。きちんとするなら
1. POP3 サーバを立ち上げてメールソフトで読む
2. root 宛のメールを別のアカウント(外部の自分のアドレスなどが良いでしょう)に転送し、メールソフトで読む
のいずれかです。ただ、今までと同じ方法でよいのであれば、上記の LANG 設定で euc 出力にはなっていますので nkf を使わなければ大丈夫でしょう。
回答ありがとうございます。
解決できました。有難うございました。
>> vi /var/spool/mail/root
>と書かれていますが、普通、メールをエディタ(vi)では読>まないですよ。きちんとするなら
このメール内容を出勤時にプリンターへ出力するために
こういう表記をしました。
色々参考になり有難うございました。
No.1
- 回答日時:
コマンドラインから
$ java -cp /home/abc/java/ test1 | nkf --jis
した場合は文字化けしないのでしょうか?
sendmail 側での設定は特に必要ないと思いますよ。
回答ありがとうございます。
>sendmail 側での設定は特に必要ないと思いますよ
参考になりました。
Red Hat Enterprise Linux 4では,OSの日本語ロケール(文字コード)が
EUC から UTF-8 に変更 され、今までEUCで作ったソースや実行結果などの
日本語部分が文字化するためLANG="ja_JP.eucJP"として使用しております。
そのためnkfを使用せずに $ java -cp /home/abc/java/ test1とするだけで
問題なく「あああ」 と表示されますが、cronの中で起動したjavaのログ内容の
日本語部分のみ文字化け(???)となります。
vi /var/spool/mail/root
何かわかりましたら教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Java VScodeのターミナルの文字化けについて 1 2022/09/27 22:19
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
- Java Javaで2の0乗から-8乗まで表示するプログラムが分かりません… 教えていただけませんか? 4 2023/06/03 20:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
crontabでsql/plusの起動
-
Linux 月を英語表示したい
-
シェルスクリプト実行で”そのよ...
-
crontabで実行されない部分があ...
-
cronでPHP実行
-
自動パスワード入力でscpするス...
-
cronでifconfigコマンドを使用...
-
ldapaddコマンドでエラー
-
cron設定で正常に動作しない
-
UNIXのbashエラーでnot a valid
-
Cronジョブの終了時刻を簡単に...
-
ロケールをutf8からsjisにする...
-
JAVAをバックグラウンドで実行...
-
centos5でlocateコマンド
-
cronでの処理が途中で中断終了...
-
macのターミナルからemacsを開...
-
【UNIX】unzip がcron で作動し...
-
bad interpreterで、シェルが使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
Linux 月を英語表示したい
-
シェルスクリプト実行で”そのよ...
-
自動パスワード入力でscpするス...
-
crontabでsql/plusの起動
-
cronの@rebootでのdateコマンド...
-
Linuxで自作バッチファイルの置...
-
bad interpreterで、シェルが使...
-
ロケールをutf8からsjisにする...
-
sudoでシェルスクリプトを実行...
-
hp-uxで時間(時計)を合...
-
Homebrewをインストールしたの...
-
Cronジョブの終了時刻を簡単に...
-
シェルスクリプトで標準エラー...
-
Linuxでシェルスクリプトがフル...
-
apachectl start command not f...
-
Bシェルで文字列が日付として正...
-
WIN10(MAC-bootcamp)で 起動時...
-
JAVAの環境変数が初期化されて...
おすすめ情報