Date: Mon, 11 Jan 99 14:19:39 JST From: SHUDO Kazuyuki Subject: [JavaHouse-Brewers:22671] Re: default value of file.encoding property To: java-house-brewers at java-house.etl.go.jp (JavaHouse Brewers ML) Message-Id: <199901110518.OAA28909@cafe.muraoka.info.waseda.ac.jp> 首藤です。 風間さん wrote: > Solarisでは、ja_JP.PCKというロケールがあります。どのバージョンから追加 > されたか忘れましたが、これを指定したら正しく動きませんか? LANG を ja_JP.PCK にすると file.encoding が SJIS になりそうです。 > それで、現時点ではこれらの対応は非常にダーティな方法でおこなっていると > 思うので、各プラットフォーム独自のロケール名への対応するコードの書き換 > えは移植チームの責任になるので、バグはまずそちらに報告するのがよいでしょ > う。 locale 名って、どこかが標準化などしていないものでしょうか。 ja, japanese, ja_JP.EUC, ja_JP.ujis, ja_JP.eucJP などなど 乱立していて困ります。 以前 X Window System のプログラムを日本語化した際に locale 名で少し苦労しました。その時の苦労の結晶が以下で す。マクロで OS を見分けるのにも苦労しました。今なら autoconf で対処すべき問題でしょうか。 # ifndef X_LOCALE # if defined(__FreeBSD__) char *localeList[] = {"", "ja_JP.EUC", "none", "none"}; # elif defined(__sun) || defined(sun) char *localeList[] = {"", "ja", "none", "none"}; # elif defined(__sgi) /* sgi, __sgi, __sgi__ (gcc) */ char *localeList[] = {"", "ja_JP.EUC", "none", "none"}; # elif defined(sony_news) char *localeList[] = {"", "ja_JP.EUC", "none", "ja_JP.SJIS"}; # elif defined(nec) char *localeList[] = {"", "japan", "none", "none"}; # elif defined(__hpux) char *localeList[] = {"", "japanese.euc", "none", "japanese"}; # elif defined(__osf__) char *localeList[] = {"", "ja_JP.deckanji", "none", "ja_JP.SJIS"}; # elif defined(_AIX) char *localeList[] = {"", "ja_JP", "none", "Ja_JP" }; # elif defined(__bsdi) char *localeList[] = {"", "Japanese-EUC", "none", "none" }; # else char *localeList[] = {"", "ja_JP.EUC", "ja_JP.JIS", "ja_JP.SJIS"}; # endif # else # if (XlibSpecificationRelease > 5) char *localeList[] = {"", "ja_JP.eucJP", "ja_JP.JIS7", "ja_JP.SJIS"}; # else char *localeList[] = {"", "ja_JP.ujis", "ja_JP.jis7", "ja_JP.mscode"}; # endif # endif /* X_LOCALE */ SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように shudoh at muraoka.info.waseda.ac.jp