ページ 11

cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/03(木) 22:53
by cygnus_odile
些細なことなのですが、ふと、端末から cal を実行すると、曜日が文字化けして表示されます。4.3.1JP、及び 4.20p1JP で確認。実際は、/bin/busybox が呼ばれているようですが、何らかの対処法はあるのでしょうか?

コード: 全て選択

# cal
     12月 2009
æ æ ç æ° æ é 
      1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/03(木) 23:18
by 暇人
日本語表記にこだわらなければ

コード: 全て選択

# LANG=C cal
   December 2009
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
                     
# cal
     12月 2009
æ æ ç æ° æ é 
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/03(木) 23:46
by cygnus_odile
暇人さん、ご教示ありがとうございます。 英語表記で充分です。

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/03(木) 23:52
by シノバー
ジョークの類ですが

コード: 全て選択

# date +'    %Y年 %m月';echo '日 月 火 水 木 金 土'; cal | tail -n 6
    2009年 12月
日 月 火 水 木 金 土
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/04(金) 11:23
by みのむし
(別法)
cal を Fedora 11 上で実行した所、ちゃんと日本語表示されました。
そこで、これをPuppy 4.3.1JP に移植してみました。
必要なファイルは

/usr/bin/cal
/usr/lib/libtinfo.so…/lib/libtinfo.so.5 へのシンボリックリンク
/lib/libtinfo.so.5

なので、コピーするファイルは cal と libtinfo.so.5 の2つ(/tmpに入れているものと仮定)。
Fedora 11 → USBメモリ → Puppy 4.3.1JP /tmp

コード: 全て選択

# cd /usr/bin
# ls -l cal
lrwxrwxrwx 1 root root 17 2009-12-01 23:03 cal -> ../../bin/busybox
# rm -f cal
# cp /tmp/cal .
# chmod +x cal
# cd /lib
# cp /tmp/libtinfo.so.5 .
# chmod +x libtinfo.so.5
# cd /usr/lib
# ln -s ../../lib/libtinfo.so.5 libtinfo.so
# ldconfig -v
# cd
# cal
      12月 2009     
日 月 火 水 木 金 土
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

(↑cal の結果は上ではずれていますが、実際はきれいに整列されています)

http://www.mland.jp/pub/Linux/puppylinu ... msato/cal/
cal-2.14.2.pet

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/04(金) 19:33
by cygnus_odile
 みのむしサン、ありがとうございます。実は、貴記事を拝見する前に、Ubuntu 9.04(ja) の ncal を流用して入れてしまいました。( ncal を /usr/bin/ に入れ、 /usr/bin/cal を /usr/bin/ncal へのシンボリックリンクとする)。

 シノバーさん、ご教示ありがとうございます。 ならば、私も

コード: 全て選択

# /bin/busybox cal |  gawk 'NR!=2;NR==2{print "日 月 火 水 木 金 土";}'
     12月 2009
日 月 火 水 木 金 土
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/04(金) 22:20
by シノバー
cygnus_odile さんが書きました:# /bin/busybox cal | gawk 'NR!=2;NR==2{print "日 月 火 水 木 金 土";}'
わわ、gawkは使ったことないのでした :lol:

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/04(金) 23:47
by 暇人
こういうのは本来localeが日本語なら日本語になるべきだと思うんだけど。
慣習とか互換性の絡みで英語表記になってるんだろうな。
プログラム側で処理するのが習慣?

pweidgit でも同様の現象に遭遇したけど。
osmo も月が前に来るのが違和感あるな。

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/05(土) 00:03
by cygnus_odile
結局は、 busybox の国際化対応が不完全ということなのでしょうかね。
なお、日付に関して、 米国では、月/日/年 欧州では日/月/年 なので、 彼らには違和感無いのでしょう。 我々日本人には、 年/月/日 表記の方が判りやすいのですが。

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/05(土) 00:08
by シノバー
暇人 さんが書きました:pweidgit でも同様の現象に遭遇したけど。
osmo も月が前に来るのが違和感あるな。
jwmかな?ファイルを右クリックしてプロパティを選ぶと

コード: 全て選択

23:52:34 04 12月 2009
って、いったい何時だ!? :twisted:

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/05(土) 07:23
by YoN
暇人 さんが書きました:osmo も月が前に来るのが違和感あるな。
osmoの開発者Tomekさんに
「年月日」と並べら替えられるようにして欲しい。
通年カレンダーの曜日が90度左に傾いているのを直して欲しい。
と要望してあります。

「次のリリースで修正する。The fixes should be available in the next release」とは言ってますが・・・

Re: cal の出力で曜日が文字化けします(4.3.1JP, 4.20p1JP)

Posted: 09/12/05(土) 20:53
by cygnus_odile
 標準の端末(rxvt) では、○△◆などが、半角幅の縦長四角マークになって、うまく表示されないし、
老眼の進んだ目にはフォントを大きくしたいということもあって、
puppy 4.3.1JP に、 国際化端末 mlterm を入れてみました。 が、
今度は /bin/busybox cal の出力の二行目(曜日欄)は、化けるどころか、表示もされませんでした。
表示に用いているのは、IPAモナー明朝です。
ちなみに、入れたのは、 Debian Lenny の debパッケージ:
   mlterm-common_2.9.4-5_i386.deb
   mlterm-im-scim_2.9.4-5_i386.deb
   mlterm-tools_2.9.4-5_i386.deb
   mlterm_2.9.4-5_i386.deb