2011-01-01から1年間の記事一覧

PHP 5.4におけるhtmlspecialchars()の問題

PHP

PHP 5.4 beta 2が出ているところですが、ソースコード(html.c)を見ていて、XSS対策で使用される htmlspecialchars()の文字コード指定がPHP 5.3とは異なる動作をすることに気が付きました。内部文字コード(mbstring.internal_encoding)が使用される以下のよう…

Google+ API をPHPから使ってみる

PHP

Google+ APIが一般公開された(Getting Started on the Google+ API - Google+ Developers Blog)のを受けて、PHPでアクセスしてみました。 シンプルなOAuth2のBEARERトークンなのでcurlエクステンションで書いてみても良いのですが、以前作った簡易OAuth2クラ…

mbstring(libmbfl)で携帯絵文字サポート:Unicode 6.0に含まれない文字

絵文字サポートに関する続きです。当初、Unicode 6.0とのマッピングが定義されない文字(iモードのロゴなど)は、使用頻度も低いと思われるため、サポートしない方針でしたが、リクエスト頂いたため、Unicode 6.0の私用面との相互変換を定義することにしまし…

KDDI (AU)携帯電話のUTF-8絵文字の仕様

AU携帯電話の絵文字のUTF-8はよくわからない。KDDI/AUでutf-8のHTMLフォームから送られてくる絵文字コード - Bulknews::Subtech - subtechと同じテスト(Shift_JISでF641の字を表示)をしてみたが、私の携帯電話(W61P: 6.2.0.13.2) では以下の結果となった。 (…

Shift_JIS-2004 (JIS X0213:2004) のサポートを libmbfl に追加

JIS X0213-2004 のサポート 夏休みの課題として、最後の大物の JIS X0213-2004 をlibmbfl に追加してみました。 実装面では、メモリのフットプリントを気にしてJIS X0213のテーブルをJIS X0208 に関する差分で作成することも検討しましたが、非常に見難くな…

mbstring/libmbflへのgb18030サポート追加

GB18030 のサポート 大国中国のオフィシャルな文字コードということで以前から気にはなっていたのですが、夏休みということでトライしてみました。 なにしろ、Unicodeのコードポイントを超える150万字をサポートする世界最大と言っても良いかもしれない文字…

mbstring/libmbfl モバイル用UTF-8

Unicode 6.0 モバイル用UTF-8の相互変換を可能としました。実際のコードをテストするには、github.com のlibmbfl のレポジトリか、svn.php.netからPHP 5.4または5.5の開発用ソースコードを取得ください。以下、仕様等について記述します。 UTF-8-Mobileの必…

mbstring/libmbfl 正しいUTF-8チェックの強化

非最短形式UTF-8などのmbstringでUTF-8のチェックが甘いという指摘がでてからかなり立ちますが、PHP 5.4に向けて、対策を考えてみました。libmbfl 1.3.1 からは、UTF-8の変換や検出時に行われる文字コード範囲検出において整形式であることを確認するチェッ…

** libmlfl(mbstring)への絵文字のサポート追加

Unicode 6.0に携帯電話の絵文字が正式に組み込まれ、Mac OS Lion等でもサポートされるなど、使う機会も増えてきたということで、mbstringに携帯電話のShift_JIS絵文字コードのサポートを組み込んでみました。現時点で、githubのlibmbfl開発コード、PHPのHEAD…

トップの現場の判断

本日の朝日の記事にTDLの人材育成に関する書籍「ディズニーの教え方」の紹介記事が載っていた。9割がバイトでも高い顧客満足度を得る最高のスタッフが育つ理由に関するもの。スタッフに「自由に考え行動できる最良を与える」というのが重要だそうだ。マニュ…

新聞と私

思い起こせば新聞を読み始めたのは小学生の3、4年くらいからだろうか。ジャイアンツが好きな父の選択で読売新聞を読んでいた。社会人になってからは、会社の寮の食堂で朝食を食べながら朝日新聞をのんびり読むのが日課だった。残念なことにエンジニアの同…

冬休みも終わり

やっと終わった?

今年の目標

そろそろ冬休み期間も終わりということで、今年の目標を決めよう。 とりあえず今かかえている仕事で成果を出すこと。

OpenIDとPHP

php-openidを使う人が多いようだが、PHP4っぽいコーディングが残っているし、かなり、冗長な作りになっている。 lightopenidが軽くて良い感じだが。。。