亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網
    最全最豐富的資訊網站

    JS讀取PHP中設置的中文cookie時出現亂碼怎么辦

    JS讀取PHP中設置的中文cookie時出現亂碼的解決方法:1、在PHP中先用escape函數編碼,到客戶端時利用js中的unescape解碼;2、使用【setrawcookie()】函數來代替cookie值。

    JS讀取PHP中設置的中文cookie時出現亂碼怎么辦

    JS讀取PHP中設置的中文cookie時出現亂碼的解決方法:

    在PHP中先用escape函數編碼,到客戶端時利用js中的unescape解碼。

    escape函數如下:

    function escape($str)   {              preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);              $ar    =    $r[0];            foreach($ar   as   $k=>$v)                {                        if(ord($v[0]) < 128)                  $ar[$k] = rawurlencode($v);             else                    $ar[$k]    =    "%u".bin2hex(iconv("GB2312","UCS-2",$v));           }           return    join("",$ar);    }

    例子:test.php

    <?php function    escape($str)    {       preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);       $ar    =    $r[0];       foreach($ar    as    $k=>$v)    {        if(ord($v[0])    <    128)         $ar[$k]    =    rawurlencode($v);        else         $ar[$k]    =    "%u".bin2hex(iconv("GB2312","UCS-2",$v));       }       return    join("",$ar);    } $name = escape("深圳人"); setcookie("name", $name); ?> <scrīpt> function get_cookie(name) { var result = null; var myCookie = document.cookie + ";"; var searchName = name + "="; var startOfCookie = myCookie.indexOf(searchName); var endOfCookie; if (startOfCookie != -1) {    startOfCookie += searchName.length;    endOfCookie = myCookie.indexOf(";",startOfCookie);    result = unescape(myCookie.substring(startOfCookie, endOfCookie)); } return result; } </scrīpt> <scrīpt> document.write("js:" + unescape(getCookie("name"))); </scrīpt>

    另外還有一個方法:

    在PHP5中,可以使用setrawcookie()函數來代替,它是在設置cookie值的時候沒有編碼的,所以在設置cookie的時候也不用先用escape函數編碼,這時JS也能直接讀取cookie的值

    相關學習推薦:PHP編程從入門到精通

    贊(0)
    分享到: 更多 (0)
    網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號