みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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です。

ブラウザの文字コードを変えずに正しく表示させるためには
どうすればいいのですか?

ご教授よろしくおねがいします。

投稿日時 - 2009-08-15 09:55:14

QNo.5208587

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.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で行う問題点を十分に理解した上にしましょう。

投稿日時 - 2009-08-15 10:42:18

あなたにオススメの質問