ホームページ >バックエンド開発 >PHPの問題 >PHPのbase64エンコード後に文字化けをデコードした場合はどうすればよいですか?

PHPのbase64エンコード後に文字化けをデコードした場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-13 09:27:205614ブラウズ

PHP Base64 エンコード後の文字化けをデコードする解決策: GET フォームで渡すときに、[ ] 記号がスペースに置き換えられないようにします。コードは [$str =base64_decode(str_replace(" ", " ",$ _GET['str']))]。

PHPのbase64エンコード後に文字化けをデコードした場合はどうすればよいですか?

##PHP Base64 エンコード後の文字化けをデコードする解決策:

暗号化後に

base64_encode を使用する場合があります。を取得するとGETという形で他のページに送信されてしまい、base64_decodeで復号すると文字化けしてしまいます。

この問題に遭遇したとき、一部は正しく復号化できるのに、一部は文字化けするのはなぜだろうと疑問に思いました。

後で確認したところ、いくつかの漢字が含まれていることがわかりました。

ときGET の形式で渡されると、 はスペース に置き換えられます。

文字化けを防ぐために、一段階置換を行って復号化したところ、案の定、文字化けの問題はなくなりました!

問題は非常に大きくなりました。簡単です。詳しく書くだけです。たった 1 つのステップです。

$str = base64_decode(str_replace(" ","+",$_GET['str']));

関連する学習の推奨事項:

PHP プログラミングの入門からマスターまで

以上がPHPのbase64エンコード後に文字化けをデコードした場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。