1

HTMLフォームを介して単純なPHPスクリプトを呼び出しているだけです。

毎回エラーがスローされます: 「HTMLドキュメントの文字エンコードが宣言されていません。ドキュメントにUS-ASCII範囲外の文字が含まれている場合、一部のブラウザ構成ではテキストが文字化けしてレンダリングされます。ページの文字エンコードは次のようにする必要があります。文書または転送プロトコルで宣言されている」

PHPとHTMLの両方でUTF-8としてエンコーディングを定義しました(以下のコードを参照してください)。ウェブ全体を検索しているにもかかわらず、この問題を解決することはできません。

HTMLコード:

<head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta content="UTF-8" http-equiv="encoding"/>
    <title>Test</title>
</head>

<body>
    <div align="center">
    <form action= "google1.php" method="get" accept-charset="UTF-8" >
             Enter Your Name:
            <INPUT TYPE = "text" NAME = "student"> <BR>
            <!--input name="q" type="text"-->
            <br/ > 
            <input name="btnG" type="submit"  value ="test">
        </form>
    </div>
</body>

PHPコード

header("Content-type: text/html; charset=UTF-8");
print "<pre>";
print_r($_GET);
print "</pre>";

ボタンを送信した後の結果(エラーとともに)は次のとおりです。

"; print_r($ _ GET); print" ";?>

XAMPPを使用しています。インターネット上のいくつかのソリューションで提案されているように、 .htaccess(追加:AddType'text / html; charset = UTF-8' html)を編集しようとしましたが、それも役に立ちませんでした。

PHPスクリプトを再度呼び出す単純なフォームがあるサイトを見つけました。http://www.tjhsst.edu/~dhyatt/superap/form1.html。フォームに値を送信しようとすると、同じエラーが発生します。

そのため、これはブラウザの問題である可能性があると考え、ブラウザのデフォルトのエンコーディングをUTF-8に変更しました。しかし、これも役に立ちませんでした。

私はウェブプログラミングの初心者であり、学ぼうとしています。誰かが助けることができるかどうか感謝します。

ありがとう、アシュトッシュ

4

2 に答える 2

3

タグの開閉に問題があるようです。

phpコードが(いくつかの詳細:http://php.net/manual/en/language.basic-syntax.phpmode.php)でラップさ<?phpれていることを確認して?>ください。process1.php3

<?php
   header("Content-type: text/html; charset=UTF-8");
   print "<pre>";
   print_r($_GET);
   print "</pre>";
?>

UPD:

質問/回答の長いセッションの後、OPがfile://プロトコルを使用したフォームでファイルを開いていることがようやく現れました。Likefile:///C:/xampp/htdocs/example/form.htmlとフォームが送信されましたfile:///C:/xampp/htdocs/example/google1.php?...apacheはHTTPプロトコルでのみ機能するため、PHPは実際には実行されませんでした。

于 2012-12-25T13:05:40.493 に答える
0

あなたのコード:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">

正しいコード:
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />

メタタグの最後にスラッシュを付けるのを忘れています。メタタグを閉じていません。
ただし、すべてを試したので、それほど重要ではありません。これも試してみてください。それはあなたのために働くかもしれません。

于 2012-12-25T13:34:08.073 に答える