トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

携帯/文字コード の変更点

Top / 携帯 / 文字コード

[[携帯]]



*文字集合(coded character set)
|文字集合|内容|h
|1バイト系文字集合|ASCII, ISO-8859-1, JIS X 0201(JISローマ字、カタカナ)|
|2バイト系文字集合|JIS X 0208(第1、第2水準漢字など), JIS X 0212(補助漢字など), JIS X 0213(JIS X 0208に第3、第4水準漢字を追加), Unicode|



*文字符号化方式(character encoding schema)
|文字符号化方式|内容|h
|ISO-2022-JP|いわゆるJISコード|
|Shift_JIS|Microsoftによって制定され、多くのコンピュータで利用されている方式|
|EUC-JP|日本語UNIXシステム諮問委員会の提案に基づいてAT&Tによって制定された方式、多くのUNIXコンピュータで利用されている方式|
|UTF-8|Unicode文字集合を利用した符号化方式。Microsoft, Apple, IBM, Sun Microsystemsなどの企業が中心となって制定し、ISOで標準化。Mac OS XやLinuxなどで利用されている方式|



*絵文字をPHP内部で取り扱うための文字コード
絵文字はShift_JISやEUCでは範囲外の文字となっており、Microsoftコードページ932(CP932)と呼ばれる拡張を適用することによって扱えるようになります。
|ベースとなる文字コード|CP932で拡張した文字コード|h
|Shift_JIS|SJIS-win|
|EUC|eucJP-win|
|Unicode|Unicodeでは絵文字をそのまま扱えます|
注:MySQLでCP932に対応しているバージョンは、4.2.12〜または5.0.3〜です



*SoftBank 3GC型ではUTF-8でページを出力するのがベター
これまでは3キャリアともページをShift_JISで出力することが多かったですが、SoftBank 3GC型端末では次の理由からUnicodeで出力するのが望ましいです。スマートフォンではUTF-8で出力しますので、出力コードを分けるのがトレンドとなりそうです。
-SoftBank 3GC型の一部端末では、Shift_JISでページを作成するとテキスト入力で絵文字が削られます
-SoftBank端末ではメールリンクをUTF-8でurlencodeする必要あります
-某携帯SNSサイトではSoftBank端末のページはUTF-8で記述することが必須です
注:SoftBank 3GC型, P型の一部, W型がUTF-8に対応しています。C型および多くのP型は非対応です~
~
出力文字コードはmetaタグで指定します。SJIS-winで出力するときMicrosoft CP932の指定はありませんので'Shift_JIS'と指定します。
|出力文字コード|XHTMLページに記述するmetaタグ|h
|SJIS-win|<meta http-equiv="Content-Type" content="text/html;charset='Shift_JIS'" />|
|UTF-8|<meta http-equiv="Content-Type" content="text/html;charset='UTF-8'" />|



*文字コード変換サンプルソース
**携帯端末からSJIS-winのPOSTまたはGETで渡された値を、PHP内部文字コードに変換
 <?php
 function input_encode()
 {
 	if (isset($_GET) {
 		mb_convert_variables(mb_internal_encoding(), 'SJIS-win', $_GET);
 	}
 	if (isset($_POST) {
 		mb_convert_variables(mb_internal_encoding(), 'SJIS-win', $_POST);
 	}
 }
 ?>

注:SoftBank 3GC型でUnicodeのページを作成したときは、携帯端末からUnicodeで値が戻ってきます。その場合はSoftBank 3GCだけ変換元をUnicodeとするようカスタマイズしてください



*PHP内部文字コードを出力時に一律SJIS-winと変換する場合のソース
 ini_set('mbstring.http_output', 'SJIS-win');



*リンク
-[[スマートフォンでの絵文字のコードマッピングはこんな感じ? | Qiita>http://qiita.com/items/1730835bf03f8de01f3f]]
-[[スマートフォンブラウザの絵文字事情 | DECOLOG TECH BLOG>http://tech.dclog.jp/2012/02/blog-post.html]]
-[[DECOLOGの絵文字変換処理 | DECOLOG TECH BLOG>http://tech.dclog.jp/2012/03/decolog.html]]
-[[Twitter時代の文字の数え方 | 配電盤>http://blog.unfindable.net/archives/2728]]
-[[全角チルダ問題>http://www.slideshare.net/tsudaa/ss-36658329]]
-[[keyword: UTF-8 | @IT>http://www.atmarkit.co.jp/ait/articles/1603/28/news035.html]]
-[[Keyword:Unicode | @IT>http://www.atmarkit.co.jp/ait/articles/1603/10/news049.html]]