require_onceを使うときの文字化けを防ぐ 2010年09月11日(土)
require_onceを使うときの文字化けを防ぐ 2010年09月11日(土)
HTML+php+MySQLでPC版サイトを制作しました。 今度は携帯版サイトを作っていこうと思うのですが、 その際の文字コードは『Shift-JIS』が望ましいようです。 手元にあるPC版サイトのファイルをコピー&修正して携帯版にしようと思っていたのですが、PCサイトの制作は全て『euc-jp』で統一して作ってあります。 この場合どう作り直していくのがベターでしょうか? HTMLの出力を『Shift-JIS』に変換してくれるような便利な関数があったりしますか? 1番悩んでいるのが、phpスクリプトには『Shift-JIS』は好ましくないのに、携帯サイトは『Shift-JIS』で作りたいという点です。 どなたかご存知でしたらご教示宜しくお願いします!
最近の携帯電話は、UTF-8やEUCに対応していたりするみたいだけど、一昔前の携帯電話では文字化けする事がある。 そのせいで「携帯電話サイトはSJISで出力しなくてはならない」という制限がついてしまう。 でも、PHPでプログラムを書くときにSJISは避けたいので、文字コードの変換が必要になるのだけど。 その文字コードの変換を簡単にする方法。 header("Content-type: text/html; charset=Shift_JIS"); echo "てすともじれつ"; echo "てすと文字列"; include ('test.php'); 例えば上記のようなコンテンツの場合。 //出力のバッファリング開始 ob_start(); //ここから echo "てすともじれつ"; echo "てすと文字列"; include ('test.php'); //ここまではこの時点では出力
上記はキャリアが対応を発表している文字エンコードであり、機種によっては公式に発表している文字エンコード以外にも対応している場合もあります。上記の表から、携帯サイトで共通に使える文字エンコードは「Shift_JIS」であることがわかります。このことから携帯サイトでは基本的に「Shift_JIS」を使って画面の入出力を行うことになります。ちなみにSoftBankの3GC型などの端末では、「Shift_JIS、EUC-JP、ISO-2022、UTF-8」のそれぞれに対応していますが、「EUC-JP、ISO-2022」はキャリアのゲートウェイを通過するときに「Shift_JIS」に自動的に変換されてきます。そのため出力はできますが取り扱いはShift_JISとなるため、SoftBankのみの携帯サイトの場合はShift_JISかUTF-8に絞って対応するとよいでしょう。 絵文字を考慮に入れた文
phpの文字コード変換で困っています。 utf-8でコーディングしていて、 携帯用のサイトなのでShift-JISに変換して サイトに出力しようと思っています。 $out = mb_convert_encoding($out, "SJIS", "UTF-8"); のようにしてみて、$outをechoしたのですが、 文字が化けてしまいます。 一応$out内のhtmlのhead部分には <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> と書いてあります。 utf-8で書いてutf-8で出力するのは問題なかったのですが、 まさかshift-jis変換でハマるとは・・・。 shift-jisでプログラムもタグも書いた方が楽な気がしてきましたが、 PC向けサイトのコードとごっちゃになりそうなので、 なんとか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く