• 締切済み

PHPの文字コードについて

PHPとmysqlの文字コードの関係について 1.データベースは文字コード utf8_unicode_ci で作成しています。 2.以下のようにテーブルを作成しました。 CREATE TABLE `test` ( `qid` varchar(10) NOT NULL, `qtitle` varchar(255) default NULL, PRIMARY KEY (`qid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3.show.phpの中で以下のように 出力しようとすると文字化けします。 show.phpファイルは文字コードutf8で保存しています。 <?php print($qTitle); ?> ブラウザの文字コードの設定はShift-Jisです。 ブラウザの文字コードを変えずに正しく表示させるためには どうすればいいのですか? ご教授よろしくおねがいします。

みんなの回答

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

>ブラウザの文字コードを変えずに正しく表示させるためには これを諦めて UTF-8 にすることをおすすめします。 PHPのスクリプトは EUC-JP や UTF-8 のものがほとんどでShift-JIS が少ないのは扱うのが面倒・難しいという欠点があるからです。 十分な知識がなく無理に使おうとするとSQLインジェクション等のセキュリティ上の脆弱性につながります。 文字コードの変換自体は mb_convert_encoding という関数を使えばできます。 http://www.php.net/manual/ja/function.mb-convert-encoding.php 使用される場合はphpのコーディングをShift-JISで行う問題点を十分に理解した上にしましょう。

関連するQ&A

専門家に質問してみよう