[Armadillo:02128] Re: Re[2]: Armadillo-9のロケールについて
Yasushi SHOJI
email@hidden
2007年 9月 28日 (金) 17:27:44 JST
At Fri, 28 Sep 2007 14:58:08 +0900,
Kenji Hirano wrote:
[...]
> > > iconv 関数は
> > > iconv_open("Shift_JIS", "EUC-JP");
> > > とすると Invalid argument のエラーが返ってきて使えていません.
> >
> > straceを通して見るとわかりますが、iconvは文字コード別に
> > ライブラリを使用します。
> >
> > > open("/usr/lib/gconv/EUC-JP.so", O_RDONLY) = 3
> > :
> > > open("/usr/lib/gconv/SJIS.so", O_RDONLY) = 3
> >
> > なので、これらライブラリが無いとエラーになります。
>
> 都合を見て strace をインストールしてテストしてみます.
あ、straceは必要ないですよ。開発環境の /usr/arm-linux...以下に上記のラ
イブラリがあれば、上記のディレクトリに置いてみてください。
> > > また,mbstowcs, wcstombs 関数では setlocale 関数で Unicode から Japanese
> > > に変換したいのですが,
> > > setlocale(LC_CTYPE, "Japanese");
> > > として設定しようとしても帰り値は NULL になります.これは locale が無いか
> > > らだと思いますが,atmark-dist を make menuconfig する際
> > > Userland Configuration - BusyBox - Locale Support
> > > を有効にするだけではダメなのでしょうか?
> >
> > /usr/lib/locale/locale-archive がないとだめです。
> > localedefが生成するはずです。
>
> localedef は glibc によって提供されるという情報
> (http://b.hatena.ne.jp/entry/5775466)を見つけたので,glibc をインストー
> ルしようとしているのですがエラーが発生してしまいます.(添付ファイル参照)
Glibcのインストールというか、atmark-distに入っている glibcは使われてい
ませんので、選ばないようにしてください。
/usr/lib/locale/locale-archiveはアーキテクチャに依存しないかなーと勝手
に考えています。ホストの locale-archiveを置いたら使えたりしませんか?
あとは、
sudo echo "ja_JP.EUC-JP EUC-JP" > /etc/locale.gen
sudo locale.gen
で生成されないかな〜と思ってます。
できないようでしたら、straceで開いているファイルを探して置いてみてくだ
さい。
# ごめんなさい、勘ばかりで…
Japaneseを使いたいのであれば、/etc/locale.aliasに
japanese ja_JP.eucJP
japanese.euc ja_JP.eucJP
ja_JP ja_JP.eucJP
ja_JP.ujis ja_JP.eucJP
japanese.sjis ja_JP.SJIS
と書いておくと良いと思います。
--
yashi
armadillo メーリングリストの案内