K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>>Debian(etch) にて >>>上の方にある同じ abort エラーがでました. > >この etch のエラーは、日本語EUC localeがインストールされてないため出ている >エラーでしょう。Debian でのやり方は知りませんが、日本語 EUC locale をイン >ストールすれば直るのでは? >つまりdiksamではなく、利用環境の側の問題だと思います。 > >>>% printenv LANG >>>ja_JP.EUC-JP >>>% locale -a >>>locale: Cannot set LC_CTYPE to default locale: No such file or directory >>>locale: Cannot set LC_MESSAGES to default locale: No such file or directory >>>locale: Cannot set LC_COLLATE to default locale: No such file or directory >>>C >>>POSIX >>>ja_JP.utf8 >> >>locale -aで出てこないものをLANGにセットしても無駄だ、というのが >>マニュアル的な解釈だと思うのですが、 > >そうです。したがって、locale -a で >ja_JP.eucjp >が表示されるような環境設定が必須です。 > >>そもそも私の環境でも >> >>ja_JP.eucjp >> >>は出ても、 >> >>ja_JP.EUC-JP >> >>は出ないんですよね。でも、LANGやsetlocaleで効くのはja_JP.EUC-JPのほうで、 >>ja_JP.eucjpではないという。 > >ja_JP.eucjp と設定しても動きます。 >Linux の locale 名解釈ルーチンは変態的で、ja_JP.EUC-JP, ja_JP.eucjp, >ja_JP.eucJP を全て同一視します。こんな動作をするUNIX系OSは、知る限り >Linuxだけです。 >日本語EUC locale 名としては ja_JP.eucJP を使うのが最も一般性があり、 >Linux に限らず、多くの UNIX 系 OS で通用するので、そちらを勧めます。 > >あと、 >#define MULTIBYTE_CHAR_SIZE_MAX (6) >というのは良くないコーディングスタイルだと思うんですが、 >#include <limits.h> して MB_LEN_MAX を使わないのはなぜなんでしょう? >(Linux の場合でも MB_LEN_MAX は 16、NetBSD あたりだと MB_LEN_MAX は 32 です。) >標準の mbstowcs() や wcstombs() を使わずに、dvm_mbstowcs() や >dvm_mbstowcs_len() を用意している理由も良く分かりませんでした。
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!