`

js 取 cookie 的中文乱码

阅读更多
//写入Cookie
$username="中文编码";
$username=mb_convert_encoding($username,"UTF-8","GB2312");  //因为 此文件为ascii 编码
//$username=iconv("GB2312","UTF-8",$username);

$username=urlencode($username);  //这个 函数出来的 结果 与 js cookie 

setcookie('testname',$username,time()+3600);

//读取
//document.write( document.cookie);
document.writeln(decodeURI("<?= $username ?>")) ;

document.writeln(GetCookie("testname")) ;

function GetCookie(cookieName){
    var cookieString = document.cookie;
    //return cookieString;
    var start = cookieString.indexOf(cookieName + '=');
    if (start == -1) 
	    return null;
    start += cookieName.length + 1;
    var end = cookieString.indexOf(";", start);
    if (end == -1) 
    return decodeURI(cookieString.substring(start));
    //return unescape(cookieString.substring(start));
    
    return decodeURI(cookieString.substring(start, end));
    //return unescape(cookieString.substring(start, end));
}

或者简单一点:
escape

decodeURIComponent

需要用decodeURIComponent函数对cookie读取的中文进行处理就可以了.

如:username = decodeURIComponent(escape(username));



分享到:
评论

相关推荐

    js 中存取 cookie 解决中文乱码

    js 中存取 cookie 解决中文乱码

    JS cookie中文乱码解决方法

    本文将详细介绍如何解决JS中Cookie中文乱码的问题。 首先,我们需要理解Cookie的设置过程。在JS中,设置Cookie通常通过`document.cookie`属性来完成。下面是一个简单的设置Cookie的例子: ```javascript function ...

    Cookie实现记住密码及解决中文乱码

    在Web开发中,"Cookie实现记住密码及解决中文乱码"是常见的用户交互功能,它涉及到客户端和服务器端的数据交换。下面将详细讲解这个主题。 首先,Cookie是Web服务器发送到用户浏览器并存储的一小块数据,用于在多次...

    JavaScript读取中文cookie时的乱码问题的解决方法

    总结来说,处理JavaScript中的中文cookie乱码问题,关键是选择正确的函数对字符进行编码和解码。使用`decodeURI()`来替代`unescape()`函数,能够有效解决读取中文cookie时的乱码问题。同时,在写入中文字符到cookie...

    用Javascript读取中文COOKIE的解决办法

    在Cookie的使用中,我们发现这样一个问题:如果写入Cookie的内容是中文(如用户称呼),用服务器端程序(如ASP或PHP)读出完全正确,但是用一般的javascript或VBScript的读Cookie函数取出的却是一堆乱码。...

    解决ajax乱码和页面传值问题

    如果数据包含中文或其他非ASCII字符,使用`encodeURIComponent()`函数进行URL编码,避免在传输过程中出现乱码。 ```javascript let data = { username: "张三", message: "你好,世界!" }; let encodedData = ...

    解决Cookie读写中文

    当存储或读取包含中文字符的Cookie时,必须确保编码的一致性,否则可能会出现乱码。 3. **JSP与Servlet**:JSP(JavaServer Pages)是动态网页技术,而Servlet是Java Web中的后端处理组件。在本例中,JSP用于创建...

    ajax乱码解决方案

    UTF-8编码是一种常见的Unicode实现,它使用1到4个字节来表示每个Unicode字符,对于中文汉字,通常每个字占用3个字节。因此,当Ajax发送或接收UTF-8编码的数据时,理论上不应出现乱码。 然而,乱码问题可能源于以下...

    asp cookie中文Javascript取得中文cookie

    ASP.NET中的Cookie管理和JavaScript操作Cookie是Web开发中的基础技能,特别是在处理中文字符时,需要特别注意编码问题。本文将深入探讨如何在ASP.NET环境下创建包含中文的Cookie,并使用JavaScript进行读取。 首先...

    safari cookie设置中文失败的解决方法

    一开始以为是cookie中文乱码的问题,后来跟踪发现,cookie的值压根就没赋值成功,网上查了资料,发现safari不允许非ASCII编码的值,换句话说:不允许中文存储。 为了解决这个问题,在设置cookie值的时候必须先编码,...

    AJAX中文乱码解决新方法分享

    在使用AJAX技术时,经常会发生字符编码问题,特别是中文乱码问题。由于JavaScript默认使用UTF-8编码,而服务器端的页面也可能采用不同的编码,如GBK或GB2312,这就导致了在AJAX通信过程中,客户端发送的数据到服务器...

    JavaScript基础篇——浅谈cookie

    这里使用了`encodeURIComponent`函数来对包含中文和其他特殊字符的数据进行编码,避免在存储过程中出现乱码问题。 2. **获取Cookie**:所有Cookie都是以分号和空格分隔的形式存储在一起的。当我们调用`document....

    ajax乱码解决汇总

    在Web开发中,Ajax(异步JavaScript和XML)技术被广泛应用于实现页面的无刷新更新,然而,与之相伴的一个常见问题是字符编码导致的乱码现象。本文将深入探讨Ajax乱码问题的成因及其解决方案。 首先,我们需要了解...

    jQuery ajax方法传递中文时出现中文乱码的解决方法

    在使用jQuery的AJAX方法进行数据交互时,有时会遇到中文字符乱码的问题。这是因为浏览器、服务器和前端之间编码不一致导致的。本文将详细解释这个问题,并提供有效的解决方案。 首先,我们要理解AJAX(Asynchronous...

    PHP如何读取由JavaScript设置的Cookie

    3. 如果JavaScript设置的Cookie值包含中文等特殊字符,当使用JavaScript读取时,建议使用`decodeURIComponent(escape(value))`函数进行编码的逆转,以避免出现乱码。 4. 当PHP读取由JavaScript设置的中文Cookie时,...

    Node.js-ptt-crawler.js是一個專門用來爬批踢踢(Ptt)各版資料的爬蟲模組

    Node.js 是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。在Web开发领域,Node.js因其高效的I/O处理和非阻塞I/O模型而受到广泛欢迎。在给定的标题和描述中,我们关注...

    jsp传值本地无乱码测试机出现乱码问题解决

    - 在涉及客户端与服务器端编码转换的JavaScript函数中,正确使用`encodeURI`或`encodeURIComponent`进行编码,避免重复编码导致的乱码问题。在上述代码中,`encodeURI`被错误地调用了两次。 ```javascript ...

Global site tag (gtag.js) - Google Analytics