フォームを送信すると、$_post[XX] で取得したデータが文字化けします
問題が発生した後、オンラインの格言に従って
、index.php の前に
page-1.php (取得するページ)
に header("Content- Type:text/html;charset= GB2312");
$key=$_POST['key']=iconv("UTF-8","gb2312",$_POST["key"]);
結果はまだうまくいきません。私は初心者ですが、問題が解決する限り、お気軽に意見を述べてください。
------解決策----------------------
インデックスの最初の行に header("Content-Type:text/html;charset=GB2312");
さらに、php ファイルを gbk エンコードに設定します
------解決策のアイデア- ----------header() 関数は、元の HTTP ヘッダーをクライアントに送信します。
要素は、ページに関するメタ情報を提供できます
メタの概要を一度に説明することはできません。
http://www.w3school .com.cn/tags/tag_meta.asp
-----ソリューションのアイデア----------------------
追加 このメタが有効になると、送信されたフォームはGB2312 でエンコード
したがって、page-1.php (取得するページ) の
$key=$_POST['key']=iconv("UTF-8 ","gb2312",$ _POST["key"]);
は間違っています!
GB2312 を UTF-8 として扱っています。どうすれば正しい結果が得られますか?
header("Content-Type:text/html;charset=GB2312");
は http プロトコル ヘッダーにあり、その優先度は
-----ソリューションのアイデア-------------- --- -----結果はまだ機能しません、同じです....
「まだ機能しない」とはどういう意味ですか? 「同じ」
「うまくいかない」とは具体的に何を意味しますか?「同じ」
-----解決策のアイデア----- ------header() の前に出力はありません
------解決策のアイデア------ -------それを解決してください。何が起こっているのかを知るには、その理由も知る必要があります。自分でまとめてみましょう。
実際、すべての送信プロセスではエンコーディングを考慮する必要があります。エディターで php ファイルを開いてコードを書くことも送信プロセスであることを忘れないでください。この考え方によれば、各送信プロセスを自分でリスト化し、問題を確認することが容易になります。 、
------解決策のアイデア---------- ------------統一エンコーディングを使用するだけ.
優れたエディタを使用することも重要です。
コーディングは非常に便利です。