[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 メーリングリストの案内