アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » 【PHPで作る】初めての携帯サイト構築 » 第4回 絵文字を取り扱う

【PHPで作る】初めての携帯サイト構築

第4回 絵文字を取り扱う

絵文字を扱う上で考えること

携帯サイトを作る上で必ず通るのが「絵文字」です。絵文字は1文字(2バイト幅)で表現され,キャリアによって仕様が異なります。絵文字の個数や種類なども統一されていないため,キャリアごとに独自の絵文字が採用されています。またキャリアによって対応している絵文字数が違うだけでなく,端末によっても対応している絵文字が異なったりといったことがあります。

docomo

対応機種/タイプ 絵文字対応状況
iモード対応HTML3.0以前 基本絵文字176種類が利用可能
iモード対応HTML4.0以降 基本絵文字176種類+拡張絵文字76種類が利用可能

au

対応機種/タイプ 絵文字対応状況
C3001H/C3002K/C3003P/C5001T/A3011SA/A3012CA/A3013T/A3014S 絵文字番号1~344,500~518が利用可能
A3015SA 絵文字番号1~344が利用可能(※アニメーション絵文字対応)
A1101S 絵文字番号1~822が利用可能
A1300シリーズ,A1400シリーズ,A5000シリーズ,Sweets pure,G'zOne TYPE-R,Sweets,talby,INFOBAR,PENCK,neon,Wシリーズ(W06K,W05K,W04K,W03H,W02H,W01Kを除く) 絵文字番号1~822が利用可能(※アニメーション絵文字対応)

SoftBank

対応機種/タイプ 絵文字対応状況
C型 Unicode(E001~E257)の絵文字に対応(※一部端末ではP型以降と同じ絵文字数対応)
P型,W型,3GC型 Unicode(E001~E537)の絵文字に対応

基本的にどの端末にも画面表示できるよう対応するためには,必要最低限の絵文字のみを出力するように工夫します。絵文字を出力しているつもりでも古い端末では表示されていなかったということもありますので,注意が必要です。

絵文字を考えるポイントは大きく2つあります。「画面への出力」と「画面からの入力」です。「画面への出力」はキャリアごとに決められた方法で出力します。「画面からの入力」は入力フォームから入力された絵文字を取り込む方法です。「うちの携帯サイトは絵文字を扱わないことに決めたから気にしなくて良いや」と思っていても,入力フォームがあるサイトではユーザーは文字に絵文字を入力してくる可能性があります。絵文字の知識をきっちり持っていないと取り除くこともできず,入力されてそのまま文字が化けてしまうといったことがあります。そのため絵文字を利用しないサイトでも絵文字に関する知識は最低限知っておく必要があります。

絵文字を出力する

まずは絵文字を出力する方法を見ていきましょう。絵文字の出力方法は各キャリアで異なり,絵文字を表現する方法も1つに限定されているわけではありません。各キャリアの絵文字の表現方法は次の通りです。

絵文字の表現方法

キャリア 絵文字の表現方法
docomo
  • Shift_JISコードを使ってバイナリで入力する
  • Shift_JISコードを文字参照でテキスト入力する
  • Unicodeを使ってテキスト入力する。
au
  • Shift_JISを使ってバイナリコードで入力する
  • 絵文字番号を使ってHDMLタグ記述で入力する
  • 絵文字番号を使ってXHTML(HTML)タグ記述で入力する
SoftBank
  • Webコードを利用して入力する
  • Unicodeを使ってテキストで入力をする

基本的にどの方法を使って表現しても構いませんが,注意することがあります。それは表現する方法によって若干の意味の違いがあるということです。auの場合「絵文字番号を使ったタグ記述」と「バイナリ記述」の絵文字の出力方法がありますが,前者で絵文字を出力した場合,絵文字が「画像」で出力されます。一方後者の場合,絵文字が「文字」として出力されます。つまりフォントの大きさを調整した場合,前者は大きさが変わらず,後者は大きさが変わるといったことになります。画面のデザインやレイアウトを気にする場合はよく理解して利用する必要があります。特に問題がなければ,絵文字はバイナリを利用するのがよいでしょう。PHPでバイナリ絵文字を表示するには次のように実装します。

auの「太陽」のマークを出力する

pack('H4',dechex(63072));

各キャリアの絵文字のコードは次のサイトに掲載されています。

docomo

作ろうiモードコンテンツ:絵文字記述方法 | サービス・機能 | NTTドコモ

au

KDDI au: 技術情報 > 絵文字

SoftBank

WEB & NETWORK 絵文字一覧 使用方法

著者プロフィール

荒木稔(あらきみのる)

京都出身。ホテルマンを経て,基幹システムの開発などに従事した後ウェブクリエイターとして独立。利用者にもっと近いサービスを提供したい想いから,携帯を中心とした企画/開発/執筆/講演活動を行う。近著に「PHP×携帯サイト デベロッパーズバイブル」(ソフトバンククリエイティブ)。家族のための携帯サイト「ファミリーモバイル」(http://www.fmob.jp)を立ち上げ現在に至る。

memokamihttp://memokami.com

コメント

  • J-PHONE絵文字の構造

    Softbank絵文字というか、J-PHONE絵文字ですが、よくわからないなら中途半端に触れずに無視した方がいいんじゃないですかね。Softbank XHTML は UTF-8 で書けばいいですし。

    一応代わりに解説しますと、J-PHONE絵文字は ISO/IEC 2022 の枠組みを「参考にして」作られています。その詳細はSoftbankの配布している「ウェブコンテンツ開発ガイド [HTML編]」の2.4.2.3に書かれています。が、この内容はISO/IEC 2022を「ISO-2022」と表記しているところから始まって誤解と誤りに満ちており、自然言語で書かれた解説は何の役にも立ちません。

    結論としては ESC $ [GEFOPQ] で絵文字世界に入り、1 バイトの絵文字任意に書き連ね、絵文字世界から抜けるには ¥x0F。[GEFOPQ] の部分が同じ絵文字を複数続ける場合はそのまま次の絵文字を書ける、ということです。(なので、この場合は 7byte でなく 6byte)。

    UTF-8 周りは UTF-8 コードなんて謎の表現を使わずに、Unicode のコードポイントを使えば他社の絵文字の Unicode での表現もまとめて説明できるように思いますが、まぁさすがにそれだと紙面が足りないかな

    Commented : #1  成瀬 (2009/02/16, 14:16)

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス