• ベストアンサー

文字コードを変換してHTMLのコメントに

PHPを始めたばかりで質問の内容がお粗末ですみません。 どなたか、ご教授をお願いします。 データベースから抽出したデータをHTML上にコメントとして書き出したいと思ってます。 データベースから「あいうえお」という情報を変数を抽出して、Printするとブラウザ上では「あいうえお」と正しく表示されますが、HTMLのソース上では「あいうえお」となっています。 その情報をブラウザの「ソースコードを見る」で表示されるHTML上で「あいうえお」と表示させる方法はありませんでしょうか? どうぞ、よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> HTML上で「あいうえお」と表示させる方法はありませんでしょうか? あ のような表記方法を実体参照と言います。 このコードを文字に直す方法は複数有りますが、 多く使われるのは、以下の2通りのいずれかかな データベースから抽出した文字が $strにあるとします <?php $charset = "shift-jis"; // ここは htmlの文字コードにする $str = "あいうえお"; // 方法1 $str1= mb_convert_encoding($str, $charset, 'HTML-ENTITIES'); // 方法2 $str2= mb_decode_numericentity($str, array(0x0, 0x10000, 0, 0xfffff),$charset); print "方法1=".$str1; print "\n方法2=".$str2; ?>

oneoneoneo
質問者

お礼

回答ありがとうございます。 期待通りの結果を得る事が出来ました。

関連するQ&A

  • 文字コードは何を使えばいいのでしょうか??

    Movable typeのブログとWEBショッピングカートをPHP/MySQLで立ち上げようと思っています。このときどういう文字コードを使用すればいいのでしょうか? データベース、ソース、ブラウザでの表示など使い分けを教えてください。ちなみにサーバはさくらインターネットのレンタルでphpMyAdminが使用できます。

    • ベストアンサー
    • PHP
  • 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です。 ブラウザの文字コードを変えずに正しく表示させるためには どうすればいいのですか? ご教授よろしくおねがいします。

    • 締切済み
    • PHP
  • HTML文字コード

    こんにちは。 文字コードのお話です。 PHPでテンプレートを呼び出して表示するのですが、UTF-8で指定しているのに、Shift-Jisで出力されている様子です。 HTMLのmetaタグで宣言しているのに、HTMLファイルだけがS-JISです。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> PHP側ではUTF-8を指定していて、そのページではきれいに表示されている文字と、文字化けしている文字がごちゃごちゃです。 htaccessの設定という可能性もあるでしょうか? HTMLに関連する問題だと思うのですが、ご存じの方いらっしゃいましたらご教授お願いします。。

    • 締切済み
    • PHP
  • HTMLタグチェック

    MacromediaのDreamWeaverを使ってHTMLを生成し、 PHPの埋め込みモジュールを作成しました。 一度ブラウザでみると、テーブルがひどくズレ 見えるものじゃありません。 そこでPHP埋め込み型でもHTMLタグチェックを行えるツール又は、ブラウザのソース表示でHTMLコードを吸い取り、チェックを行う良いツールはございますか? できればとじタグはどこにいれないといけないとか よりカスタマイズされたチェッカーがいいです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • PHPの高速化

    HTMLとphpがごちゃごちゃになるとややこしいので $HTML .= "<div>hogehoge</div>" のような、HTMLソースコードをすべて、いったん変数に格納し、最終的に echo $HTML; とする手法で、作成していったのですが、 HTMLを変数に埋め込んだせいか、PHPの処理が完全に終わるまで HTMLが表示されなくなってしまい、 表示に時間がかかるようになってしまいました。 待ち時間を感じさせぬよう、HTMLを先に表示させ、 そのあとで、データベースに接続や、繰り返し処理のデータを 表示させるには、現在のすべてのHTMLソースを変数に入れるという 設計を改めるしかないのでしょうか。 または、別の方法で、 HTML記述部分を優先的に処理させる方法はないでしょうか。

    • ベストアンサー
    • PHP
  • PHPでHTMLからPOSTされたデータが文字化けします。

    PHPでHTMLからPOSTされたデータが文字化けします。 超初心者ですので表現に誤りがあるかもわかりませんがお許しください。 現在、Win2003・MySQL5.1・PHP5.2と言う環境で簡単なデータベースを作成して、HTMLから検索して 一致したデータを表示させると言うものを作成しています。 検索欄に入力した一部の文字がどうしても文字化けしてしまい解決できません。 詳しくはまだ理解できていないのですが、おそらく検索窓に入力した文字がPOSTされて、それを受けたPHPが文字化けした文字でMySQLのデータベースを検索しようとしているのではないかなっと思ってます。 文字コードはすべてShift-JISで行っているつもりです。 たとえば、 全角の"。"や"?"などの2バイトコードが81**(違ってましたらすみません。。)入力すると "。"は"B"に文字化けされ、"?"は"H"に文字化けします。 また、"院"や"法"などの**40を入力すると"・>  <input type="と表示されて検索ボタンも消えておかしくなってしまいます。 これだけの情報ではお答えして頂けないかもわかりませんが、他にどのような情報があればいいのかもよくわかりません。 わかる範囲で結構ですのでご教授頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • HTMLからPHPへのフォーム送信について

    お世話になってます。 現在、PHPを使用してなんちゃってCMSの開発をしております。 上記の開発内容にHTMLで生成したDOM情報をフォームの<input type="hidden">を使用して、PHPに送信したいと思うのですが、PHP側で受け取りの確認を行うと、HTML情報が受け取れておりません。 var_dumpもしくはprint関数で出力し、ブラウザ上でのソースを確認すると半角スペースが連続で入っているだけでした。 上記の内容について、詳しくご教示を頂ければ幸いです。

    • 締切済み
    • PHP
  • 文字コード【utf-8】のHTMLを

    charset=utf-8で作成されているHTMLをDreamweaverで開くと テキストが文字化けしてしまいます。 他のテキストエディタで文字コードをUnicodeに設定して開いた場合も Web上で「ソースコードの表示」でソース表示してもやはり同じく文字化けしてしまいます。 この場合、どうしたら文字化けせずにソースを表示することができますか? できればDreamweaverで開けるとありがたいのですが・・・ アドバイスいただけると助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • コード上の埋込み漢字コードの文字化け

    PHP のソースコード上に埋め込んでいるべた書きの2バイトコードが 文字化けを起こしてしまいます。以下、経緯を含め詳しく書きます。 1.HTMLのFORMよりデータを入力。(toiawase.html) 2.PHPにて、入力データをWebブラウザ上に表示して確認。(mail_kakunin.php) 3.PHPにて、確認済みのデータをmail()関数にて送信。(mail_send.php) 上記の状態で正常動作を確認。 「1」の toiawase.html にて、charsetをUTF-8にする必要があり 下記のように charset のみ書き換えました。 <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下の不具合が発生しました  ・上記の「2」の部分ですでに入力したデータのみ文字化けを起こす。  ・当然、「3」にての送信でも入力データのみ文字化けして送られる。 よって、「2」のmail_kakunin.php にも以下の分を追加しました <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下のような不具合が発生しました  ・上記の「2」の部分で入力データは mb_convert_encoding() で UTF-8   に変換し、文字化けしませんが、今度はPHPのコーディングでべた書きの2バイト   コードが文字化けを起こす。 HTML上で、UTF-8 の漢字コード指定なので、PHPにべた書きの2バイトコードも UTF-8 で出力する必要があるのですが、やり方がわかりません。 ご存知の方教えていただけると助かります。

    • ベストアンサー
    • PHP
  • PHPでMySQLのデータを読み込んだ際の文字化けについて

    宜しくお願いいたします。 PHPからMySQLのデータを参照して、HTML上に文字を表示させたら、文字化けしてしまいます。具体的には ・・・ログインIDとパスワードを送信して、その情報をMySQL上のデータベースで参照し、そのレコードにあるユーザー名をHTMLで表示する・・・ といった事を行います。ログインIDはURLからGETで送って、パスワードはPOSTで送っています。送られてきたIDとパスワードで、 <?php $userlist = mysql_query("select * from テーブル名 where id = '$ID' and password= '$password'",${接続ID}); $user = mysql_fetch_array(${userlist}); ?> といった形で『$user』にレコードを配列として代入して、HTML上の必要な箇所で、 <?php print "${user['name']}" ?> といった形でそのIDとパスワードのユーザー名を表示しています。ところが、実際にブラウザで表示させると、データベースには 『アドミニストレーター』 とカタカナで入力しているのですが、HTMLでは、 『・「・ノ・゜・ヒ・ケ・ネ・・シ・ソ。ン』 と化けて表示されます。 HTML上の文字などは特に化けていません。データベースから抽出した文字だけが化けてしまいます。 どなたか、この現象を解決するヒントを教えて下さい!お願いします!!

    • ベストアンサー
    • MySQL

専門家に質問してみよう