人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの文字化けについて質問です。
PHP(ver5.2.10)でMySQLに接続し、データーベース内のデータを検索して表示するというような検索システムを作成しているのですが、一部文字が文字化けしてしまいます。

PHPで

$keyword = htmlspecialchars($_POST['keyword']);
print $keyword;

とすると

一般 → □ 般
ホワイト → □ □ □ □

のように文字化けします。

また、PHP内に

ini_set("output_buffering", "On");
ini_set("output_handler", "mb_output_handler");
ini_set("default_charset", "utf8");
mb_language("Japanese");
mb_internal_encoding ("utf8");
mb_http_input("auto");
mb_http_output("utf8");
mb_detect_order("auto");
mb_substitute_character("none");
ob_start("mb_output_handler");

何も表示されなくなりました。

漢字やひらがな等は表示されるのですがカタカナは全て文字化けしています。

MySQLやPHPは全てUTF?8に統一しています。
何かご存知の方いらっしゃらないでしょうか?
よろしくお願いします。

●質問者: lily0717
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:keyword MySQL ON PHP print
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tamo2_xvi
●80ポイント

http://takapop2ch.blog103.fc2.com/blog-entry-7.html

PHPもMysqlも設定ファイル上でUTF-8に設定されて一部文字が化けるとの事ですが

現在ではUTF-8が主流ですが、大昔Postgres+PHPを使用時に携帯の絵文字にも対応して使えたのは

EUCでした。

当時はまだPHPは4になったばかりで文字コードの変換をやらせると、なぜかよく化けてました。

あまり参考にならないかと思いますが、一度EUCでもお試しください。

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">

あとhtmlのheadにこちらも入れてお試しください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ