基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ
Unicodeでは,複数の文字から1つの文字を合成する仕組みがある。例えば,ヨーロッパの言語で使われているアクセント付きのアルファベットを表現するのに使われる。日本語の濁点/半濁点付きのカタカナ/ひらがなにも,この仕組みがある。例えば,「ぱ」という文字は,「ぱ」(キャラクタ・コードはUTF16で3071)という2バイトの文字と,「は」(同306F)と文字合成用半濁点「゜」(同309A)を組み合わせた4バイト文字の,2種類が存在する。そのため,濁点/半濁点付きの文字を検索する場合,2バイトの単独文字と4バイトの合成文字の両方を検索する必要が出てくるなど,文字列処理が多少面倒になる可能性がある。今回はこの合成文字について,.NETでの処理を調べた。 最初に断っておくが,キーボードからは文字合成用の「゜」(キャラクタ・コードは309A)は入力できない。入力できるのは,キャラクタ・コードが309C
11月30日に企業向けには出荷が始まったWindows Vista。そのVistaで,“文字化け”が起こるらしい。文字化けといっても,Webアクセス中にたまに見かける全く読めない文字の羅列になることはほとんどなく,その多くは似た文字が表示される程度である。ここでは,本来表示されるべき文字の形が少し違ったものが表示されるケースも“文字化け”として扱う。 Microsoftは,Windows 98日本語版の発売以来,Windows 2000,Windows Me,Windows XPまでCP932(本名はWindows Codepage 932,いわゆるMS漢字コード)とJIS X 0212をサポートしてきたが,最新のWindows VistaではJIS X 0213に乗り換えた。いや,乗り換えたというのは,ちょっと語弊がある。CP932とJIS X 0212に加えて,JIS X 0213もサ
UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。
2006年11月20日23:00 カテゴリLogos一日一行野郎 perl & Unicode - その字の名前 Unicodeの隠れた功績として、こうした「何て呼べばいいの?」という文字に(はんば無理矢理)名前をつけてくれたこともあります。 例えば、 新方言時代〜「小さい“お”」って何? 「々」はなんていえばいいのだろうか? には 々 U+3005 IDEOGRAPHIC ITERATION MARK といった具合に。 この手の調査は、Perl5.8以降が手元にあると簡単に出来ます。 例えば、 perl -Mencoding=utf8 -MHTML::Entities -Mcharnames=:full -ple \ '$o=ord; $_=sprintf"$_ U+%04X %s", $o, charnames::viacode($o)' で、こんな具合にコードポイントとUnicode
perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し
File アクセス時における Unicode の取り扱いについて 遅ればせながら、産総研グリッド研究センター 高木浩光さんによる「安全なWebアプリ開発の鉄則2005」を読んだ。 その中に実は全く認識していなかった問題があったので、Java の環境で実際に起こり得るのか確かめてみた。 「安全なWebアプリ開発の鉄則」の 2005 年度版は Web 上で公開されていないようなので、↓は 2004 年度版へのリンク。 同様の記述は既に記載されている。 安全なWebアプリ開発の鉄則2004 http://www.nic.ad.jp/ja/materials/iw/2004/proceedings/T5.pdf 実験内容 "c:\tmp\dummy.txt\u0000.html" というファイルを読み込んだ際に、ファイルシステム上で実際に読み込まれるのはどのファイルなのかをチェックする。 拡張子を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く