Web Forum
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

記事No : 886
タイトル Re^3: 入力フォームに投稿した絵文字が正常に表示されない
投稿日: 2011/09/12(Mon) 23:05:18
投稿者revulo

> 各キャリアの携帯から晴れの絵文字を入力にて確認したところ
>
> docomo: SJIS:f89a, UTF8:ee98be
> au: SJIS:f660, UTF8:eebda0
> softbank: SJIS:ee818a, UTF8:ee818a
>
> と表示されます。

ということは、絵文字の入力データは正しく受け取れているようなので、
出力というか、表示の方の問題だと思います。
http://libemoji.com/html_emoji/manual/quickstart
に載っている例そのままですが、header() 関数を追加して、

require_once 'HTML/Emoji.php';
$emoji = HTML_Emoji::getInstance();
$text = $emoji->filter($text, 'input');
//$emoji->utf8 = true;
$text = $emoji->filter($text, 'output');
if ($emoji->isSjisCarrier()) {
header('Content-Type: text/html; charset=Shift_JIS');
} else {
header('Content-Type: text/html; charset=UTF-8');
}

これでうまくいかないでしょうか?
docomo, au は Shift_JIS で、SoftBank は UTF-8 で出力されます。

ただ、au, UTF-8 の組み合わせで ? が表示されたというのが気になります。
上の $emoji->utf8 = true; の行を有効にすると、UTF-8 で出力されますが、
その場合も au で ? と表示されますか?
今のところ、

・header をしっかり出力しないと ? になってしまう?
・UTF-8 では絵文字を表示できない機種がある?

という2つの可能性を考えています。
もし、上記のことを au, UTF-8 で試して ? で表示されるようでしたら、
念のため、au の機種名も教えていただけないでしょうか?

よろしくお願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
subject 入力禁止
Title 入力禁止
Theme 入力禁止
タイトル
URL 入力禁止
URL
メッセージ   手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
削除キー (英数字で8文字以内)
  プレビュー

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 削除キー