パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

文字コード自動判別」記事へのコメント

  • Linux じゃなくて Solaris ですが, UTF-8/eucJP/SJIS の判別が,手元にあるデータの範囲内では正常動作することを確認しました.

    ところで,いくつか問題を見つけたので報告します.

    • setlocale() の返却値に NULL がきたときの対処がない.たとえば:
      env LANG=xyzzy lv /etc/profile
      のように,存在しないロケール名を環境変数に指定すると,core を吐いて死にます.
    • ロケール名が xx_YY の形式であることに依存した部分がある. たとえば,Solaris では ja
    • ありがとうございます。ためしてみます。setlocale() や nl_langinfo() の返り値ですが、どれくらい広い範囲に対応しないといけないかよくわからないので、大文字・小文字は無視したり、ハイフンやアンダースコアも無視するような文字列比較ルーチンを作ってそれを用いたほうがいいかもしれません。

      ほんとうは、configure で nl_langinfo() の有無を調べるなどしたほうがいいのかもしれませんが、そのへん、どうでしょうか? もちろん、あったほうがいいのでしょうが、バグが混入したり、テストしきれなかったりするリスクとの比較で。

      親コメント

日々是ハック也 -- あるハードコアバイナリアン

処理中...