escape编码与unescape解码汉字出现乱码的解决方法

2014-06-10  来源:本站原创  分类:javascript技巧  人气:5 

这篇文章主要介绍了escape编码与unescape解码汉字出现乱码的解决方法,需要的朋友可以参考下

今天的项目中遇到需要用javascript的escape编码汉字再用unescape解码的情况,测试代码段的时候出现了乱码的情况。
具体情况如下:
首先,用EditPlus打开测试页面test.html,编辑如下html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>unescape测试</title>
</head>
<body>
<script>
var teststr=escape("脚本之家");
document.write(teststr);
</script>
</body>
</html>

页面打印输出:

%uFFFD%u0171%uFFFD%u05AE%uFFFD%uFFFD

此时可以看出情况不对,单从汉字对应的字符数量上来说已经不对了!
再使用如下代码测试unescape解码后的汉字:

var relstr=unescape("%uFFFD%u0171%uFFFD%u05AE%uFFFD%uFFFD");
document.write(relstr);

出现了乱码:�ű�֮��

解决方法:
用Dreamweaver打开test.html文件,发现了问题所在!
原先的那段

var teststr=escape("脚本之家");

变成了

var teststr=escape("ű֮");

可见是编辑器的初始编码造成的!
在Dreamweaver中将汉字改回来,重新运行test.html,得到了对应的编码:

%u811A%u672C%u4E4B%u5BB6

此时再用unescape解码:

var relstr=unescape("%u811A%u672C%u4E4B%u5BB6");
document.write(relstr);

就得到了原先正确的汉字:脚本之家!

相关文章
  • escape编码与unescape解码汉字出现乱码的解决方法 2014-06-10

    这篇文章主要介绍了escape编码与unescape解码汉字出现乱码的解决方法,需要的朋友可以参考下 今天的项目中遇到需要用javascript的escape编码汉字再用unescape解码的情况,测试代码段的时候出现了乱码的情况. 具体情况如下: 首先,用EditPlus打开测试页面test.html,编辑如下html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w

  • PHP采用get获取url汉字出现乱码的解决方法 2014-01-17

    这篇文章主要介绍了PHP采用get获取url汉字出现乱码的解决方法,是很多PHP程序员都曾遇到的问题,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了PHP采用get获取url汉字出现乱码的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 本来打算这样使用 <a href="list.php?plate=辖区动态" charset="utf-8" target="main">[查看辖区动态]</a> 结果在

  • destoon网站转移服务器后搜索汉字出现乱码的解决方法 2014-07-25

    这篇文章主要介绍了destoon网站转移服务器后搜索汉字出现乱码的解决方法,非常实用,需要的朋友可以参考下 很多使用destoon的用户在网站转移服务器后,一切正常,但是在有搜索页面时,搜索汉字就会出现乱码 框框 之类的符号,而搜索数字,英文则很正常. 对于使用destoon(GBK)模板的用户来说,解决方法为: 将.htaccess文件中的 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 改为 RewriteRule ^(.*)-htm-(.*)$ $1.php?$

  • js向后台传汉字为乱码的解决方法. 2014-03-31

    需要通过js将值传递到后台,后台根据传递的值进行数据查询时,通过test.jsp的js进行编码(粉色为编码),后台java解码(绿色为解码部分),可以解决 <script type="text/javascript" charset="UTF-8"> function test() { var faultAddr = encodeURI(document.getElementById("faultAddr").value); faul

  • php上传文件中文文件名乱码的解决方法 2015-03-11

    想必很多朋友在进行utf8编码的php开发上传功能的时候,都会遇到这样的一个问题,就是上传中文文件名的文件时,文件名会变成乱码,其实我们可以用iconv函数对文件名进行重新编码就解决问题了 可能会有不少朋友碰到一些问题就是上传文件时如果是英文倒好原文名不会有问题,如果是中文可能就会出现乱码了,今天我来给大家总结一下导致乱码php上传文件中文文件名乱码的原因与解决办法吧. 这几天在windows下安装了XAMPP,准备初步学习一下php的相关内容.这几天接触到了php上传文件,但是出现了一个郁闷问

  • XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码) 2014-12-12

    XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)(附带解决DHTMLX不能用中文的问题) 在数据发送一方,利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存(也可以用 ASP 等其它语言的函数实时转换输出). 在数据接收一方,利用 javascript 的 unescape 函数将所有英文编码还原. 由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决. ----------------------------------

  • JQuery的Ajax中Post方法传递中文出现乱码的解决方法 2015-03-21

    这篇文章主要介绍了JQuery的Ajax中Post方法传递中文出现乱码的解决方法,较为深入的分析了Ajax的post方法出现乱码的原因,以及具体的解决方法,需要的朋友可以参考下 本文实例讲述了JQuery中Post传递中文出现的解决方法,即乱码ajax与jquery.ajax中文参数post传递乱码处理方法.分享给大家供大家参考.具体分析如下: 问题一: 今天在做项目时,需要用到Ajax,之前我在用GET方式传递中文参数时,只需要在后台程序中设置页面编码为GB2312即中文能正常显示,可是这次由

  • 通过url方式传递中文乱码的解决方法 2014-01-17

    本篇文章主要是对通过url方式传递中文乱码的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 例如: 通过url传递中文参数:xxx.do?name=名字&age=十八岁 解决办法: 1.在html页面,通过js的encodeURI方法对字符2次编码 encodeURI(encodeURI(jsonStr)); 2.在后台进行解码 java.net.URLDecoder.decode(jsonStr, "UTF-8");

  • 探讨PHP JSON中文乱码的解决方法详解 2014-06-14

    本篇文章是对PHP中JSON中文乱码的解决方法进行了详细的分析介绍,需要的朋友参考下 我们知道在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中 文乱码的情况,解决PHP JSON中文乱码的方法思路其实与PHP Ajax传值中文字符乱码的解决方法类似,下面我以教程形式详细介绍下解决PHP JSON中文乱码的方法. 为什么PHP与JSON交互时会出现中文乱码? 由于JSON与JS一样,对于客户端的字符是以UTF8的形式

  • .NET中文乱码的解决方法分享 2015-02-13

    这篇文章主要介绍了.NET中文乱码的解决方法,有需要的朋友可以参考一下 前言:最近升级一个由VS05开发的项目,当迁移至VS10后,试运行,啊~!我文盲了,怎么一个汉字都不认识了!(乱码纷纷的说) 说明:本文以将项目改为UTF8编码为例. 解决之道 1.修改配置文件 <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" responseHeaderEncoding="UTF-8

  • 基于jsp:included的使用与jsp:param乱码的解决方法 2013-10-13

    本篇文章是对jsp:included的使用与jsp:param乱码的解决方法进行了详细的分析介绍,需要的朋友参考下 如果jsp:include 中的page页面存在乱码,则需要在使用<jsp:include page=""> 的页面中的<body>后加上 <% request.setCharacterEncoding('UTF-8") ;//或者指定的编码(GBK或其他) %> 如下面所示: jsp-include.jsp <%@ p

  • php使用fgetcsv读取csv文件出现乱码的解决方法 2013-10-28

    这篇文章主要介绍了php使用fgetcsv读取csv文件出现乱码的解决方法,实例分析了造成乱码的原因与对应的解决方法,并给出了Linux平台下的乱码解决方法,需要的朋友可以参考下 本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: function get_csv_contents( $file_target )

  • python操作mysql中文显示乱码的解决方法 2013-11-04

    这篇文章主要介绍了python操作mysql中文显示乱码的解决方法,是Python数据库程序设计中经常会遇到的问题,非常具有实用价值,需要的朋友可以参考下 本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8) 2. MySQL数据库charset=utf-8 3. Python连接MySQL是加上参

  • ajax提交到servelt获取参数有乱码的解决方法 2013-12-11

    这篇文章主要介绍了ajax提交到servelt获取参数有乱码的解决方法,需要的朋友可以参考下 在这里,假设读者了解基本的 ajax 技术或更多.我仅仅阐述一个现象,一个解决方法:原因. 原理,同样不清楚 -- 我们先从简单的着手, servlet传值到JSP页面js 脚本中,利用脚本将相关值显示在页面.解决这个方向(servlet--javascript)的中文乱码问题很简单.只需要在 servlet中,添加一个 编码设置: response.setContentType("text/html;

  • javascript alert乱码的解决方法 2014-03-03

    javascript alert乱码的解决方法 javascript alert()函数就是一个用于输入提示的功能,但今天在使用alert()提示时中文乱码,拼音什么的都没有问题呀,下面我在论坛找到一解决办法,下面与大家分享. 解决办法一: echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'; echo '<script type="te

  • ajax请求乱码的解决方法(中文乱码) 2014-08-08

    这篇文章主要介绍了ajax请求乱码的解决方法(中文乱码),需要的朋友可以参考下 今天遇到一个问题,有关ajax请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url

  • php查询mssql出现乱码的解决方法 2014-08-31

    这篇文章主要介绍了php查询mssql出现乱码的解决方法,分析了常见的各类解决方法供大家参考借鉴,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php查询mssql出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是编码问题,下面来给各位总结一下解决方法. 方法一,修改php.ini文件,当然根据你页面情况来设置也可以是utf-8编码了,代码如下: ;mssql.charset = "ISO-8859-1&quo

  • asp.net导出Excel显示中文乱码的解决方法 2014-09-19

    asp.net导出Excel显示中文乱码的解决方法,需要的朋友可以参考一下 protected void btnExcel_Click(object sender, EventArgs e) { List<bUFlow.Model.orderhistory> orderlist = dal.GetOrderList2(""); string filename = "3g流量网龄升级计划用户表"; string name1 = filename; stri

  • Python中MYSQLdb出现乱码的解决方法 2014-12-26

    这篇文章主要介绍了Python中MYSQLdb出现乱码的解决方法,是Python操作MySQL数据库程序设计中非常常见的问题,需要的朋友可以参考下 本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考.具体方法如下: 一般来说,在使用mysql最麻烦的问题在于乱码. 查看mysql的编码: 命令: show variables like 'character_set_%'; 可以看到如下结果: character_set_client为客户端编码方式: charac

  • JQuery异步获取返回值中文乱码的解决方法 2015-01-10

    这篇文章主要介绍了JQuery异步获取返回值中文乱码的解决方法,除了正常的编码设置需要统一外,还要设置一个setCharacterEncoding才可以避免乱码,需要的朋友可以参考下 用jqgrid异步获取列表值,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是jqGrid工具函数中少配了 contentTy