ホームページ > バックエンド開発 > PHPチュートリアル > フォームを送信すると、$_post[XX]で取得したデータが文字化けしてしまいます。

フォームを送信すると、$_post[XX]で取得したデータが文字化けしてしまいます。

WBOY
リリース: 2016-06-13 12:26:07
オリジナル
1062 人が閲覧しました

フォームを送信すると、$_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 ファイルを開いてコードを書くことも送信プロセスであることを忘れないでください。この考え方によれば、各送信プロセスを自分でリスト化し、問題を確認することが容易になります。 、

------解決策のアイデア---------- ------------統一エンコーディングを使用するだけ.

優れたエディタを使用することも重要です。

コーディングは非常に便利です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート