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

test.slashdot.jp TODO (随時更新)」記事へのコメント

  • ユーザ設定の『署名』『自己紹介』に日本語が入りません。
    MacOS9.2のIE5.1.6使用です。

    文字が化けるのには慣れっこなオールドMacユーザーですが…とりあえず一言ご報告を。そんな風に見えているひとも(ほんの数パーセントかもしれませんが)いてるんですよーっという表明になれば…。

    我慢してくれって言われそうですが。
    • 新システムでは文字コードをUTF-8で統一しています。通常はブラウザが表示の文字コードにあわせて送信するデータの文字コードも変換してから投稿するのですが、念のためにUTF-8 → ASCII → EUC-JP → Shift_JIS → 7bit JISの順番で文字コードを推測して変換する処理も入れてあります。
      • 未調査で記事を見て、そのまま返事を書いています。常識だったらごめんなさい。

        > 念のためにUTF-8 → ASCII → EUC-JP → Shift_JIS → 7bit JISの順番で文字コードを推測

        この部分なんですが、所謂デファクトスタンダードな処理手順なんですか?
        # オライリーの CJK 本が見たい瞬間…

        直感的には 日→英→日→日→日、と推測しているようで、なんだか不安になってきます。
        どんな方法がより良いのかは判りませんが、私は UTF-8 → ISO 2022-JP(7bit JIS?) → EUC-JP → Shift_JIS → ASCII、という推測順序の方が良さゲに思います。
        # 私

        --
        mobile ID portable_NoGood [slashdot.jp] 併用中
        • 言語で判断しているのではなく、言語は基本的に日本語だと仮定して、文字コードがPOSTされうる頻度と判別のし易さ順に並べています。

          ページの文字コードはUTF-8なので、普通のブラウザだとPOSTされるデータもUTF-8で送られてきます。また、UTF-8なバイト列はとても特徴的なので判別がかなり確実にできますので、一番目です。

          ASCIIはhigh-bitがひとつも立っていないバイト列なので、確実に判別できます。UTF-8だが日本語などが一文字も含まれてない場合はASCIIと等価です。頻度が比較的高く、誤判定もまずないので、二番目です。

          EUC-JPとShift_JISは自動判別が必ずうまくいくわけではありません。現在の環境がEUC-JPなため、判別できない場合はEUC-JP優先にしました。

          7bit JISは完全にトチ狂ったブラウザのためのオマケです。

          NoGoodさんは文字集合と文字コードを少し混同してませんか?UTF-8はCJKだけでなくいろいろな言語の文字を含む文字集合であるUnicodeのエンコーディングです。ASCIIは(基本的には)Alpha-Numericな文字のみ、EUC-JPとShift_JISは細かい違いはあれど基本的にはおなじ日本語の文字をカバーする同じ文字集合の異なるエンコーディングです。

          新システムでは文字集合としてUnicodeを採用しています。そして、そのUnicodeのすべてを表現する文字コードとしてUTF-8を使っています。上に上げられている他の文字コードはいずれもUTF-8より表現できる文字が少ないです。文字コードの推測にはUTF-8とASCII以外は日本語用の文字コードしか推測対象に入ってないので、中国語や韓国語用の文字コード(例えばBig5やEUC-KR)で何かがPOSTされてくると、誤判定(例えばEUC-KRとEUC-JPは判定不可な気がします)されるか、変換不可で弾かれます。同じハングル文字でもUTF-8だと意図通りに受付けられます。

          UTF-8で表現できる範囲内では特に使える文字種は制限していないので、現地のローカルな文字コードではなくUTF-8でPOSTすれば、コメントや日記、記事本文や自己紹介、署名など、あらゆるものを韓国語や中国語だけでなく、右から左にかかれるアラビア語、更には古代ルーン文字などで書く事が技術的には可能です。将来、なんらかの理由によりどうしても避けられない限り、日本語の文字のみの文字集合に制限する、という事は考えていません。
          親コメント

ソースを見ろ -- ある4桁UID

処理中...