ホームページ >バックエンド開発 >PHPチュートリアル >PHP での Cookie 値の転送における文字化けに関する問題
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"); を出力するときに変換するだけで問題ありません。