プロが教えるわが家の防犯対策術!

携帯用のHPを作っているのですが、データベース文字コードがEUC-JPの為、一部の携帯では正常に表示されないでいます。

それで文字コードをShift_JISに変換してから出力したいのですが、
同時にmb_convert_kanaを使って全角カナを半角にしたいとも考えています。

個別に変換するなら、
$str = mb_convert_kana($row["~"],"k");
print mb_convert_encoding($str,"SJIS","EUC-JP");
で良いかと思うのですが、
ページ全体の出力文字を一気に変換する方法がわからないでいます。
そのような方法はあるのでしょうか?

どうぞ宜しくお願いします。

A 回答 (1件)

文字エンコードを変更するにはいくつかの方法があると思います。



1.php.iniのmbstring.http_outputを設定する
2.mb_http_outputで設定する
3.ob_start()とob_get_contents()などを利用してバッファリングした後でmb_convert_encoding()を使う
4.テンプレートエンジンを利用したり全ての出力をバッファリングして、最後に全てのバッファデータを出力する際にmb_convert_encoding()を使う

こんな感じなんじゃないでしょうか。
私は常に4でやってます。

参考URL:http://jp.php.net/manual/ja/ref.mbstring.php
    • good
    • 0
この回答へのお礼

すみません、お返事のほうが遅くなってしまいました。
アドバイスいただいた中の2の方法でなんとかイメージ通りに再現することができました。ありがとうございます!

お礼日時:2007/06/20 12:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!