ref:Open ブログ: ◆ シフトJIS と unicode via:Matzにっき(2007-03-12) 初めにお断りしておくが、本項は、誰かを批判することが目的ではない。素人にありがちな誤解を正すことにある。 上記のサイトで、素人が間違いを犯しているからといって、素人を批判するつもりは毛頭ない。素人が専門知識をもたないのは当然だからだ。私としては、批判するためというよりは、読者が他山の石として眺めるために、上記のサイトを見ることをお勧めする。 Encode.pm の maintainer である dankogai 氏を素人呼ばわりするのもなかなか勇気があると思うが、じゃ、そういう本人の誤解を正しておこうか。 一方、 unicode には問題が山積みだ。だいたい、素人は unicode という言葉を使っているが、 unicode というものは一種類しかないわけではない。UTF-8,
RedHatの技術者であり、Debian開発者でもあるtagoh氏のblogに「 UTF-8は十分かどうか」という書き込みがある。 これは、「 シフトJISを捨てられるか?」というITproの記事に対して、Ruby開発者のMatz氏が 「『短いに越したことはない』というごく弱い理由で、さらに別のエンコーディングの必要性をほのめかさないでいただきたい」 と、自身の日記で述べていることに対して、 tagoh氏が意見を述べているものだ。 tagoh氏によれば、エンコーディングを増やさないことは賛同できるが、「UTF8でいいのか」というところには特に他言語を考慮した場合において疑問を呈し、 「エンコーディングに言語タグでも入れた方がいいんではないだろうか」と意見を述べている。 locale併用というのは今の方式だが、これでは複数言語を使えないわけで、tagoh氏の言語タグということには賛同できる。
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ
UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く