JS 文字符串转换unicode编码函数

 更新时间:2009年05月30日 22:37:45   作者:  
AJAX传递中文字符串时必须把中文字符串编码成unicode,一般会用到JS的自带函数escape().不过找到了更好的函数来确决中文字符转换成unicode编码的函数
复制代码 代码如下:

function uniencode(text)
{
text = escape(text.toString()).replace(/\+/g, "%2B");
var matches = text.match(/(%([0-9A-F]{2}))/gi);
if (matches)
{
for (var matchid = 0; matchid < matches.length; matchid++)
{
var code = matches[matchid].substring(1,3);
if (parseInt(code, 16) >= 128)
{
text = text.replace(matches[matchid], '%u00' + code);
}
}
}
text = text.replace('%25', '%u0025');
return text;
}

当然服务器端要对编码过的字符串进行第二次转码.把字符串转换成UTF-8编码. 
复制代码 代码如下:

function convert_int_to_utf8($intval)
{
$intval = intval($intval);
switch ($intval)
{
// 1 byte, 7 bits
case 0:
return chr(0);
case ($intval & 0x7F):
return chr($intval);
// 2 bytes, 11 bits
case ($intval & 0x7FF):
return chr(0xC0 | (($intval >> 6) & 0x1F)) .
chr(0x80 | ($intval & 0x3F));
// 3 bytes, 16 bits
case ($intval & 0xFFFF):
return chr(0xE0 | (($intval >> 12) & 0x0F)) .
chr(0x80 | (($intval >> 6) & 0x3F)) .
chr (0x80 | ($intval & 0x3F));
// 4 bytes, 21 bits
case ($intval & 0x1FFFFF):
return chr(0xF0 | ($intval >> 18)) .
chr(0x80 | (($intval >> 12) & 0x3F)) .
chr(0x80 | (($intval >> 6) & 0x3F)) .
chr(0x80 | ($intval & 0x3F));
}
}

这样中文字符串就可以转换成UTF-8编码.这种方法适合各种服务器环境..

相关文章

  • Bootstrap popover 实现鼠标移入移除显示隐藏功能方法

    Bootstrap popover 实现鼠标移入移除显示隐藏功能方法

    下面小编就为大家分享一篇Bootstrap popover 实现鼠标移入移除显示隐藏功能方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 关于JSON与JSONP简单总结

    关于JSON与JSONP简单总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。而JSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”。下面是小编总结的关于JSON与JSONP知识,感兴趣的朋友一起看下吧
    2016-08-08
  • javascript 贪吃蛇实现代码

    javascript 贪吃蛇实现代码

    最近在学Javascript,花了半个月的时间终于把《Javascript权威指南》(推荐此书,入门级) 扫完。 在学习的过程中发现使用JS实现动态效果挺有趣的。
    2008-11-11
  • js获取文件里面的所有文件名(实例)

    js获取文件里面的所有文件名(实例)

    下面小编就为大家带来一篇js获取文件里面的所有文件名(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • javascript js 操作数组 增删改查的简单实现

    javascript js 操作数组 增删改查的简单实现

    下面小编就为大家带来一篇javascript js 操作数组 增删改查的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • JS实现秒杀倒计时特效

    JS实现秒杀倒计时特效

    这篇文章主要为大家详细介绍了JS实现秒杀倒计时特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JS实现数组随机排序的三种方法详解

    JS实现数组随机排序的三种方法详解

    这篇文章主要为大家详细介绍了JavaScript中实现数组随机排序的三种方式,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-05-05
  • 利用JavaScript实现静态图片局部流动效果

    利用JavaScript实现静态图片局部流动效果

    如果你有玩过《王者荣耀》、《阴阳师》 等手游,一定注意到过它的启动动画、皮肤立绘卡片等场景,经常采用静态底图加局部液态流动效果的简单动画,本文将利用JavaScript实现这一效果,需要的可以参考一下
    2022-08-08
  • Bootstrap与KnockoutJs相结合实现分页效果实例详解

    Bootstrap与KnockoutJs相结合实现分页效果实例详解

    KnockoutJS是一个JavaScript实现的MVVM框架。接下来通过本文给大家介绍Bootstrap与KnockoutJs相结合实现分页效果,对bootstrap knockoutjs相关知识感兴趣的朋友一起学习吧
    2016-05-05
  • js+CSS 图片等比缩小并垂直居中实现代码

    js+CSS 图片等比缩小并垂直居中实现代码

    本例子在在 ff 2.0/ ie6 / ie7 中测试通过。但在 opera 8.5 cn中没有通过。希望大家测试。
    2008-12-12

最新评论