`
bzlrj
  • 浏览: 2218 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

用js实现编码转换gb2312转utf8

阅读更多
[size=medium]在文件编码为gb2312的html文件中,提交表单到utf8页面中会出现乱码的现象,针对这样的问题既可以从前端下手也可以从后端进行处理,为了方便,决定从前端下手,从网上搜集到了相关js特分享如下:[/size] [code="js"] <script language="JavaScript"> <!-- function utf8(wide) { var c, s; var enc = ""; var i = 0; while(i<wide.length) { c= wide.charCodeAt(i++); // handle UTF-16 surrogates if (c>=0xDC00 && c<0xE000) continue; if (c>=0xD800 && c<0xDC00) { if (i>=wide.length) continue; s= wide.charCodeAt(i++); if (s<0xDC00 || c>=0xDE00) continue; c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000; } // output value if (c<0x80) enc += String.fromCharCode(c); else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F)); else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F)); else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F)); } return enc; } var hexchars = "0123456789ABCDEF"; function toHex(n) { return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF); } var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"; function encodeURIComponentNew(s) { var s = utf8(s); var c; var enc = ""; for (var i= 0; i<s.length; i++) { if (okURIchars.indexOf(s.charAt(i))==-1) enc += "%"+toHex(s.charCodeAt(i)); else enc += s.charAt(i); } return enc; } alert(encodeURIComponentNew("中文")) alert(decodeURIComponent(encodeURIComponentNew("中文"))) // --> </script> [/code]
分享到:
评论

相关推荐

    JS GB2312转UTF8 支持中英文混合

    JS GB2312TOUTF8 UTF8TOGB2312 编码转换 /* * GB2312转UTF8 * 例: * var xx=new GB2312UTF8(); * var Utf8=xx.Gb2312ToUtf8("你aaa好aaaaa"); * var Gb2312=xx.Utf8ToGb2312(Utf8); * ...

    用javascript实现gb2312转utf-8的脚本

    用javascript实现gb2312转utf-8的脚本 本文讲解如何使用javascript实现gb2312编码到utf-8编码的转换。gb2312是中国国家标准的汉字编码字符集,共分两级,第一级为常用字,有3755字,第二级为次常用字,有3008字。...

    js gb2312和utf-8互转

    3. **字节流到目标编码转换**:最后,根据不同的编码规则(GB2312或UTF-8),将字节流转换为目标编码的字符串。 ### 实现代码详解 #### 1. 字符串到十六进制转换 ```javascript function Str2Hex(s) { var c = "...

    用Javascript实现UTF8编码转换成gb2312编码

    在JavaScript中,编码转换是一个常见的任务,特别是在处理中文字符时,因为不同的编码标准如UTF-8和GB2312可能会导致乱码问题。这里,我们有两个函数:`UrlEncode` 和 `getSpell`,它们用于将UTF8编码的字符串转换为...

    Url编码转换程序 gb2312 utf-8 编码 解码

    在这个“Url编码转换程序”中,包含了两种重要的编码方式:GB2312和UTF-8。GB2312是中国大陆广泛使用的简体中文字符集,它包含6763个汉字,主要用于早期的计算机系统。而UTF-8是一种变长的Unicode编码,它可以表示...

    js 编码转换 gb2312 和 utf8 互转的2种方法

    在JavaScript中,编码转换是处理不同字符编码格式之间转换的过程,比如从GBK(GB2312)到UTF-8,反之亦然。这在处理中文字符时尤其重要,因为不同的编码方式对汉字的支持和表示方式有所不同。以下是两种在JavaScript...

    JS将汉字转换为GB2312编码

    js 原生只支持utf-8,扩展 js转换成GB2312,js 原生只支持utf-8,扩展 js转换成GB2312,js 原生只支持utf-8,扩展 js转换成GB2312,

    unicode与GB18030(GB2312,GBK) 转换码表

    转换码表是用来进行不同编码间转换的关键工具,例如,如果你有一个使用GB18030编码的文本文件,而你的系统或程序只支持Unicode,那么就需要一个转换码表来将GB18030编码的文本转换成UTF-8或其他Unicode编码。...

    js对中文字符串进行gb2312编码解码

    2. 将Unicode编码转换为GB2312编码。这一步需要一个映射表,将Unicode编码映射到对应的GB2312编码。因为JavaScript本身不提供这个映射,所以我们需要自己创建或者引用一个这样的映射表。 3. 对于每个Unicode编码,将...

    GB转UTF8字符工具

    该“GB转UTF8字符工具”可能采用了一种解析和重新编码的方式来实现编码转换。在处理过程中,它会读取源文件的每个字节,根据源编码规则解码得到原始字符,然后按照目标编码规则重新编码这些字符并写入新文件。这样的...

    GB2UTF8.rar_GB2UTF8_convert_gb2312 utf8_utf8 gb2312_website

    "GB2UTF8"转换工具就是为此目的设计的,它允许用户将网站的HTML、CSS、JavaScript等文件从GB2312编码转换为UTF-8,反之亦然。这大大减轻了手动修改大量文件的工作量,提高了效率。工具的核心功能包括: 1. 批量转换...

    两种(GB2312与UTF-8)网页简繁转化JS代码.zip

    例如,如果一个GB2312编码的网页需要展示繁体中文内容,可以使用这些JavaScript代码将GB2312编码的简体中文转换为UTF-8编码的繁体中文。反之,如果用户需要查看简体版,也可以进行反向转换。 需要注意的是,由于...

    gb转utf8,gb转utf8

    本篇文章将详细解析`GB`转`UTF-8`的过程,以及为何需要进行这样的转换。 1. **GB系列编码** `GB`(Great Wall,大字符集)是中国大陆广泛使用的汉字编码标准,主要包括`GBK`(国标扩展)和`GB2312`。`GB2312`是最...

    UTF-8GB2312互转

    在提供的"UTF-8GB2312互转.exe"文件中,很可能是实现了一个简单的命令行工具,用于快速将UTF-8编码的文件转换为GB2312,或者反之。使用这样的工具,用户可以在本地环境下方便地解决文件编码不匹配导致的乱码问题。但...

    自动检测汉字GB18030编码与UTF-8编码

    想到如下特征来识别汉字: 1. 如果第1位是0就不需要判断的,一定是ASCII字符。... 如果第1位是1开头的,第2位是0开头的,一定是GB编码。 3. 如果第1位是非1110开头的,则一定是GB编码。 4. 多做几个汉字判断。

    GB/BIG5/UTF-8 文件编码批量转换工具

    总之,"GB/BIG5/UTF-8 文件编码批量转换工具"是解决多语言环境下编码不一致问题的有效手段,它简化了文件编码转换的过程,提高了工作效率。在处理中文文本时,尤其是涉及简体和繁体转换,或者需要向国际化的UTF-8...

    utf8文件编码转换器

    UTF8文件编码转换器是一种工具,它允许用户将文件从一种字符编码格式转换为UTF-8编码格式。在计算机科学和网页开发领域,文件编码是非常关键的,因为它决定了文本如何被正确地读取和显示。UTF-8是目前最常用的多语言...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    本文将深入探讨PHP中的字符编码转换,特别是针对ANSI、Unicode(包括Little Endian和Big Endian)、UTF-8以及UTF-8+BOM的转换。 首先,让我们了解这些编码格式的含义: 1. ANSI编码:通常指的是Windows系统的默认...

    易语言JS实现编码转换源码

    易语言JS实现编码转换的核心在于理解字符编码的基本原理,如ASCII、GB2312、GBK、Big5、UTF-8等。每种编码都有其特定的字节序列表示字符,转换过程中需要正确解析和重构这些序列。在易语言中,可以使用“字符串”和...

Global site tag (gtag.js) - Google Analytics