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に変更しました。しかし、これも役に立ちませんでした。
私はウェブプログラミングの初心者であり、学ぼうとしています。誰かが助けることができるかどうか感謝します。
ありがとう、アシュトッシュ