【携帯サイト制作】第二回 auでUTF-8で作成したページの絵文字が文字化け
先日からの続き。
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