传递url中汉字用encodeURIComponent()转换文utf-8
在传递页面中用Utf8ToUnicode ()再转换为汉字
Utf8ToUnicode :function (strUtf8){
var bstr = "";
var nTotalChars = strUtf8.length; // total chars to be processed.
var nOffset = 0; // processing point on strUtf8
var nRemainingBytes = nTotalChars; // how many bytes left to be converted
var nOutputPosition = 0;
var iCode, iCode1, iCode2; // the value of the unicode.
while (nOffset < nTotalChars)
{
iCode = strUtf8.charCodeAt(nOffset);
if ((iCode & 0x80) == 0) // 1 byte.
{
if ( nRemainingBytes < 1 ) // not enough data
break;
bstr += String.fromCharCode(iCode & 0x7F);
nOffset ++;
nRemainingBytes -= 1;
}
else if ((iCode & 0xE0) == 0xC0) // 2 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
if ( nRemainingBytes < 2 || // not enough data
(iCode1 & 0xC0) != 0x80 ) // invalid pattern
{
break;
}
bstr += String.fromCharCode(((iCode & 0x3F) << 6) | ( iCode1 & 0x3F));
nOffset += 2;
nRemainingBytes -= 2;
}
else if ((iCode & 0xF0) == 0xE0) // 3 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
iCode2 = strUtf8.charCodeAt(nOffset + 2);
if ( nRemainingBytes < 3 || // not enough data
(iCode1 & 0xC0) != 0x80 || // invalid pattern
(iCode2 & 0xC0) != 0x80 )
{
break;
}
bstr += String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
nOffset += 3;
nRemainingBytes -= 3;
}
else // 4 or more bytes -- unsupported
break;
}
if (nRemainingBytes != 0)
{
// bad UTF8 string.
return "";
}
return bstr;
}
在传递页面中用Utf8ToUnicode ()再转换为汉字
Utf8ToUnicode :function (strUtf8){
var bstr = "";
var nTotalChars = strUtf8.length; // total chars to be processed.
var nOffset = 0; // processing point on strUtf8
var nRemainingBytes = nTotalChars; // how many bytes left to be converted
var nOutputPosition = 0;
var iCode, iCode1, iCode2; // the value of the unicode.
while (nOffset < nTotalChars)
{
iCode = strUtf8.charCodeAt(nOffset);
if ((iCode & 0x80) == 0) // 1 byte.
{
if ( nRemainingBytes < 1 ) // not enough data
break;
bstr += String.fromCharCode(iCode & 0x7F);
nOffset ++;
nRemainingBytes -= 1;
}
else if ((iCode & 0xE0) == 0xC0) // 2 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
if ( nRemainingBytes < 2 || // not enough data
(iCode1 & 0xC0) != 0x80 ) // invalid pattern
{
break;
}
bstr += String.fromCharCode(((iCode & 0x3F) << 6) | ( iCode1 & 0x3F));
nOffset += 2;
nRemainingBytes -= 2;
}
else if ((iCode & 0xF0) == 0xE0) // 3 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
iCode2 = strUtf8.charCodeAt(nOffset + 2);
if ( nRemainingBytes < 3 || // not enough data
(iCode1 & 0xC0) != 0x80 || // invalid pattern
(iCode2 & 0xC0) != 0x80 )
{
break;
}
bstr += String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
nOffset += 3;
nRemainingBytes -= 3;
}
else // 4 or more bytes -- unsupported
break;
}
if (nRemainingBytes != 0)
{
// bad UTF8 string.
return "";
}
return bstr;
}
发表评论
-
js url转码
2014-06-13 11:46 3921.var target = encodeURI('中文'); ... -
js生成表格
2014-02-25 10:34 0var row=document.getElementById ... -
让输入框只显示数字
2014-02-25 10:32 0<input type="text" ... -
限制网页刷新f5/ctrl+R/右键
2014-02-25 10:30 0<body onkeydown="KeyDow ... -
窗口传值问题
2014-02-25 10:29 0子窗口应该是用window.showModalDialog() ... -
js调用父框架函数与弹窗调用父页面函数的方法--转
2014-02-25 10:24 0js弹窗页面后调用父页面函数 (例如:调用父页面函数test2 ... -
js ajax请求
2014-02-25 10:23 0var req; function xmjlSubmitVi ... -
js 正则表达式 邮箱、字符串、URL格式匹配
2014-02-25 10:19 1751邮箱: var regm = /^[a-zA-Z0-9_-]+ ... -
iframe 跨域自适应高度
2014-02-25 10:12 4591。引入的跨域文件content.html 内容: <h ... -
返回到跳转页面
2014-02-24 17:43 294<a href='javascript:history. ... -
半角逗号转全角
2014-02-24 17:42 744str = str.replace(/,/g,",& ... -
j调试用于打印错误
2014-02-24 17:42 364try { sucainame=document.getEle ... -
滚动效果--转
2014-02-24 17:41 310<html xmlns="http://www ... -
jquery获得鼠标坐标
2014-02-24 17:37 364clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐 ...
相关推荐
在使用myeclipse过程中,我使用ajax同步请求传递参数到后台却出现中文乱码,这是我解决问题的代码,希望对您有所帮助
为什么用表单的方式就可以传递中文,而URL的方式就不行了呢?非得用URL传值的方式才能解决问题吗?这里我想到了动态表单,何不用它来解决呢
javascript通过url向jsp页面传递中文参数乱码,一直都是从事jsp开发者比较烦心的是,于是本文介绍了一些解决方法,感兴趣的朋友可以了解下
比如你传入汉字,或者传入”§”等其他编码格式的字符串系统解析后的url为乱码。经过在网上的查找觉得一下两种方式比较好: 1.如果url在后台解析的话采用HttpUtility.UrlEncode(url,System.Text.Encoding....
解决url传递中文乱码问题,解决后台接收到的汉字是乱码的
本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考。具体方法如下: 一、问题描述: 本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request....
利用JavaScript通过URL方式向后台代码传值是一种经常用到的手段,但在传递汉字时经常会出现字符不全或变成乱码的问题,其原因是由于客户端IE浏览器的编码方式为GB2312(简体中文版WINDOWS的默认设置),而后台的C#...
主要介绍了解决java页面URL地址传输参数乱码的方法,URL地址参数乱码问题,算是老话重谈了吧!需要的朋友可以参考下
前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js. 但是里面没有做出详细介绍,这里...
用于js中实现GBK编码。适合使用js进行页面参数传递时,给GBK编码页面传递参数,解决乱码。
unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似”%xx”的字符替换成单个字符,例如:“法国红酒”解码后会转换成“法国红酒”,但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码...
问题: 在 Google Map 上用 Ajax 以 get 方式向服务器传递数据时,服务器端显示为 url 乱码, Zend Framework 向 MySQL 存储数据为乱码,但是提取出来又是正常中文字体, MySQL 中输入中文,显示在 PHP 网页上为乱码...
jsp页面传参乱码的解决方法 jsp页面js: encodeURIComponent要使用两次encodeURIComponent... 您可能感兴趣的文章:javascript通过url向jsp页面传递中文参数导致乱码解决方案jsp地址栏传中文显示乱码解决方法分享
如何用在浏览器端预览本地文件? 今天的主题是使用浏览器预览本地文件。 由于浏览器安全策略的限制,javascript...然后 使用获得File 对象通过URL.createObjectURL(file)转换为文件url, 就可以传递给类似y于img,video
在很多时候,我们直接在url中传递中文参数时,读到的中文都是乱码,那么我们应该怎么将这些参数转换呢? 下面我们来介绍一下方法 1、我们新建一个 UrlEncode.js 然后将下面的代码拷贝进去 代码如下: //JS版的Server....
8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript...
8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...