【携帯サイト制作】第二回 auでUTF-8で作成したページの絵文字が文字化け

9 月 2nd, 2008 | Categories: Mobile, 携帯サイト制作

先日からの続き。

UTF-8で作成したページがauで文字化けしてしまう・・・orz

色々と試行錯誤していたら・・・
.htaccessから AddType application/xhtml+xml .html
を削除したら大ジョブでした(・∀・)!
じゃぁdocomoはどうするの?

docomoでXHTML&CSSが出来ないのは意味がないので・・・
という矢先、phpファイルでxhtmlを使用しなくてはいけないことに気が付きました。
ぶっちゃけ、モバイルアドセンスなんですが・・・( ´∀` )
.htaccessに以下の行を追加します。

AddType text/xhtml+xml .php

で、やっぱりauがダメダメだったのですが、docomoでは必須であるxhtmlソースの1行目↓を外すと大丈夫でした。

header(’Content-Type: application/xhtml+xml; charset=UTF-8′);

どうにも面倒になってきたので・・・
xhtmlヘッダ部分をキャリア毎に記述をインクルードさせることにしました。

例えばこんな感じです。。。

>index.php

< ?php
$ua = $_SERVER["HTTP_USER_AGENT"];
if(ereg("DoCoMo",$ua)){
include("/docomo.txt");
}
elseif(ereg("UP.Browser",$ua)){
include("/au.txt");
}
?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<title>タイトル</title>
</head>
<body>
内容
</body>
</html>

>docomo.txt

<?php
header(’Content-Type: application/xhtml+xml; charset=UTF-8′);
echo ‘<?xml version="1.0" encoding="UTF-8"?>’."n"
?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN" "i-xhtml_4ja_10.dtd">

>au.txt

<?php
echo ‘<?xml version="1.0" encoding="UTF-8"?>’."n"
?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN" "i-xhtml_4ja_10.dtd">

やった!先生、うまくイッタヨ!

と、つかの間・・・・

これだと、auで絵文字が化けるんですよ・・・orz

i絵文字からUnicodeで入れてもダメづら。。。

さぁ、どうしたものか。

他にもっと良い方法があったら教えてください・・・(´・ェ・`)

以下、随時追記してきますー。

第一回 そろそろ携帯サイトも真面目(XHTML&CSS)に作ってみましょうか。
第二回 auでUTF-8で作成したページの絵文字が文字化け
第三回 3キャリア対応 絵文字変換スクリプトで文字化け解決
第四回 ケータイサイトXHTML&CSSでBLINKとかって。
第五回 auでutf-8のページからformで日本語を渡すと文字化けorz
第六回 メール受信設定をしっかりと案内してますか?
第七回 auのソフトキーラベルについて
第八回 エラーが発生しました。レスポンスが不正です。WJ46386E

No comments yet.