ホームページ  >  記事  >  バックエンド開発  >  PHP での Cookie 値の転送における文字化けに関する問題

PHP での Cookie 値の転送における文字化けに関する問題

WBOY
WBOYオリジナル
2016-06-13 13:16:181102ブラウズ

PHP での Cookie 値の転送に文字化けの問題があります
$username=mb_convert_encoding($row1[0], "GBK", "UTF-8");
setcookie('username',$username);
この文字化けは、setcookie を介してページに表示されます
しかし、setrawcookie を介して未定義関数エラーが報告されます
Cookie の書き込み方法と Cookie の読み取り方法を教えてください

------ 解決策----------------------
jsに設定したCookieですか?
その場合、文字化けが発生するのは、cookie を読み取る関数に問題があるためです。
php で使用されている場合は、元の utf-8 でエンコードされたコンテンツがユーザーによって gbk に変換されています。読み返してみるとやはりgbkではないでしょうか?転送し直さないと当然文字化けします。
------解決策------------------
2 階の正解は、$username=mb_convert_encoding($row1[0], "GBK", "UTF-8");
setcookie('username',$username);
投稿者は setrawcookie( )これはうまくいきますか?実際には、
$a=mb_convert_encoding($_COOKIE["username"], "UTF-8" , "GBK"); を出力するときに変換するだけで問題ありません。

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