• 締切済み

POSTされた値をEUCで表示したい

<?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

  • ursmr
  • お礼率39% (16/41)
  • PHP
  • 回答数4
  • ありがとう数3

みんなの回答

  • cooz7654
  • ベストアンサー率77% (7/9)
回答No.4

mbstring.internal_encoding = EUC-JP mbstring.http_output = EUC-JP になっていて、入出力共にEUCで統一されてるならば、 <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> ↓ <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> と入出力それぞれのHTMLを変更して、 ファイルをEUCで保存していないと、 単に化けている日本語が表示されると思います。 質問の意図がイマイチ理解できないので、 こういうことを求めているのか自信もてませんが・・・

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

>サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは phpinfo() は表示できませんか。 表示できるならその中のmbstringの設定を同じにすれば良いと思います。 mbstring.internal_encoding "euc-jp" mbstring.encoding_translation On なのだと思いますが

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.2

php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますよ。

ursmr
質問者

お礼

php.iniで変更したいなら >mbstring.http_output string >HTTP 出力文字エンコーディングのデフォルト値を定義します。 で、変更できますが、ローカルではそれではできませんでした。

  • guuman
  • ベストアンサー率30% (100/331)
回答No.1

<?php mb_language('ja'); mb_internal_encoding('sjis'); echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo mb_convert_encoding($_POST['str1'],'euc-jp'); ・・・・・ では?

ursmr
質問者

補足

ありがとうございます。すみません、質問が不足でした。 何もコンバートせずにEUCを出力するようにしたいです。 サーバと同じ文字環境をローカルで作成しようとしているところです。 サーバでは質問文のソースで・ニ・ケ・ネ、ヌ、ケと表示されています。

関連するQ&A

  • 何故動かないのでしょうか?

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>関数3/title> </head> <body> <?php //今日の日付を表示する $today = date("y年m月d日"); //HTML出力 echo $today; ?> </body> </html> 蒸気のプログラムが動かないのは何故でしょうか?

    • 締切済み
    • PHP
  • フレームページに文字が表示されなくて困ってます><

    フレームページに文字が表示されなくて困ってます>< フレームページは表示されるのですがmenu.html.htmlやcontents.html.htmlに書いた文字が表示されません どこが間違っているのでしょうか? ーーフレームページーー <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タトル</TITLE> </HEAD> <FRAMESET cols="100,*"> <FRAME name="menu.html.html" src="file:///D:/happystyle/menu.html.html"> <FRAME name="contents.html.html" src="file:///D:/happystyle/contents.html.html"> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> ーーmenu.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像置き場 </BODY> </HTML> ーーcontents.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像表示 </BODY> </HTML> というHTMLを書きました! フレームに表示させたいページのHTMLはフレームと同じフォルダに入っているのですがこれと関係ありますか? どこがおかしいのかまったくわからないです 教えてください!

  • エンコードをEUC-JP⇒ShiftJISに変えたい

    モバイル用サイトをEUC-JPで作ってしまったので、Shift-JISに変えたいのですが、 どのように変えれば良いのでしょうか? PHP、MySQLの設定ではEUC-JPです。 METAタグでShift-JISに変えてみましたし、 PHPでエンコーディングをShift-JISに設定したのですが、変わりません。 -------------------------------------------------------------- <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> mb_internal_encoding("SJIS"); -------------------------------------------------------------- また一から作り直すしか術はないのでしょうか・・・?

    • 締切済み
    • PHP
  • これは何を意味しますか?

    <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY> <img src="./image/2151.jpg"> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • phpで数字の値を画像で表示したいのですが

    お世話になります。phpを触り出している初心者です。携帯に対応させたいのですが、phpだけでいっぱいなので助けてください. 数字が0だったら非表示 2だったら2の画像・・・というようなものを作りたいのですが imgタグの埋め込み方・記述方法がよくわかりません。 ↓数字を文字で表示する方法はこれで一応やってみました。 <?php $number1 = 0; $number2 = 2; $number3 = 3; $number4 = 4; if ($number1 == true) { echo"<p>0は非表示です。"; } if ($number2 == true) { echo"<p>1の画像です。"; } if ($number3 == true) { echo"<p>2の画像です。"; } if ($number4 == true) { echo"<p>3の画像です。"; } ?> しかし画像がうまくいかずIE6では一種類の画像だけ表示されて 他の新しいブラウザでは文字化けしてる状態です。 それぞれ違う画像を当てはめる場合 どのように数値を増やして記述したらよいのでしょう? 色々試していますがこの記述も正しいのがわかりません。 <?php $gazou = imagecreatefromgif("img/01.gif"); imagegif($gazou); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=shift_jis" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <title>数字で分岐して画像を表示</title> </head> <body> <div style="text-align:center;"> <?php $number1 = 0; $number2 = 1; $number3 = 2; $number4 = 3; if ($number1 == true) { echo'<img src="gazou.php" />'; } if ($number2 == true) { echo'<img src="gazou.php" />'; } if ($number3 == true) { echo'<img src="gazou.php" />'; } if ($number4 == true) { echo'<img src="gazou.php" />'; } ?> </div> </body> </html>

    • ベストアンサー
    • PHP
  • PHPに関して質問です

    簡単な問い合わせフォームを作っていますが HTMLページで入力した文章がPHP画面で表示できません。 ソースは <html> <head> <meta http-equiv="Content-Type" content="text/html; charset_JIS"> <tittle>お問い合わせフォーム</tittle> </head> <body> ■お問い合わせ内容を入力してください。 <br> <form action="check_inquiry.php" method="POST"> お問い合わせタイトル: <br> <input type="text" name="tittle" size="50"> <br> <br> <input type="submit" value="お問い合わせ内容の確認"> </form> </body> </html> と <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <tittle>お問い合わせフォーム</tittle> </head> <body> ■お問い合わせ内容の確認をしてみてください。 <br> お問い合わせタイトル: <br> <?php echo $_POST["tittle"]; ?> </body> </html> どこが問題なのでしょうか?

    • 締切済み
    • PHP
  • $_POSTが、上手くできません。。

    PHP勉強中の初心者です。 簡単な教材で勉強しているのですが、何度やっても上手く行かない部分があり、質問させて頂ければと思います。 やりたい事としては、「form.html」で入力した内容を、$_POSTで「view.php」に表示をするということです。 上手くいっていない処理としては、「form.html」のフォームから文字を入力し、「view.php」で、『○○さん、こんにちは』と表示がしたいのですが、実際には、「form.html」に文字を入れて送信すると、「view.php」の全ソースがブラウザ上で、表示されてしまいます。 こちらは、どのようにすれば、『○○さん、こんにちは』という風に表示することが出来ますでしょうか?php自体の設定に問題があるのでしょうか? もしお分かりになる方がいらっしゃれば、ご教授いただけると幸いです。宜しくお願い致します。 ■form.html <HTML> <HEAD> <TITLE>テキスト送信のテスト</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </HEAD> <BODY bgcolor="#FFFFFF" text="#0000000"> <FONT size="4">テキスト送信のテスト</FONT> <FORM name="form1" method="post" action="view.php"> 名前:<BR> <INPUT type="text" name="onamae"> <BR> <INPUT type="submit" value="送信"> </FORM> </BODY> </HTML> ■view.php <html> <head> <title>PHPのテスト</title> </head> <body> <?php print $_POST["onamae"]. "さん、こんにちは"; ?> </body> </html>

    • ベストアンサー
    • PHP
  • htmlからphpを読み込みしたいのですが、文章だけが表示されます。

    htmlからphpを読み込みしたいのですが、文章だけが表示されます。 サーバーはロリポップでphp対応です。 以下のソースを通常通り拡張子を.html として保存しました。 このソースの中にphpを読み込むタグをいれました。 (phpはテキストで作成し、拡張子を .php として保存) (htmlホームページビルダーです) 表示されません。 初心者なので、詳しくアドバイスをお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>○○○</title> </head> <body> <!-- phpヘッダ読み込み --> <?php include("footer.txt"); ?> 文章始まり </body> </html>

  • TEXTAREAに入力したタグイメージで保存する方法について

    TEXTAREAに入力した内容で携帯用の画面を作成してます。 TEXTAREAに入力した内容が変換されてTEST.HTMLに出力されてしまいます。 TEXTAREAに入力したタグ内容をそのままTEST.HTMLに出力するには どこを修正すればよろしいのでしょうか? よろしくお願いします。 【TEXTAREAに入力したタグ↓】 <span style=\"color: #ff0000\">12345</span> 【出力したTEST.HTMLの内容↓】 <html><head><meta http-equiv='Content-Type' content='text/html; charset=shift_jis'> </head> <body>&lt;span style=\&quot;color: #ff0000\&quot;&gt;12345&lt;/span&gt; </body> </html> 【ファイル名:abc.php】 <? $head = "<meta http-equiv='Content-Type' content='text/html; charset=shift_jis'>"; //送信情報更新 if($_POST["make"]){ $str = nl2br(htmlspecialchars(mb_convert_encoding($_POST['keitai'], 'SJIS', 'UTF-8'))); $html = <<<HTMLFILE <html><head>$head</head><body>$str</body></html> HTMLFILE; //HTMLファイル作成 $filename="./TEST.html"; //ファイルオープン $fp = fopen($filename, 'w'); if(!$fp){ exit('open err'); } //ファイルのロック処理 flock($fp, LOCK_EX); if(fwrite($fp, $html) === false){ exit('write err'); } fclose($fp); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>画面作成</title> </head> <body> <table> <form action="abc.php" method="post"> <tr> <td>html</td> <td><textarea id="keitai" name="keitai" cols="30" rows="10"><? echo $_POST["keitai"] ?></textarea></td> </tr> <tr><td> <input type="submit" name="make" value="作成"> </td></tr> </form> </table> </body> </html>

    • 締切済み
    • PHP
  • PHP

    PHPで、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>テストのページ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <p>これはテストです</p><p>本日は 晴天なり</p> </body> </html> と、簡単なプログラムを打ったんですが、ブラウザで表示されません。ちゃんとApacheも設定したのですが・・・ どうすれば、ブラウザで表示できるようになるのでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう