[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 GB2312TOUTF8 UTF8TOGB2312 编码转换 /* * GB2312转UTF8 * 例: * var xx=new GB2312UTF8(); * var Utf8=xx.Gb2312ToUtf8("你aaa好aaaaa"); * var Gb2312=xx.Utf8ToGb2312(Utf8); * ...
用javascript实现gb2312转utf-8的脚本
Url编码转换程序 gb2312 utf-8 编码 解码,呵呵,这个不算什么程序,就是写了个界面,运行下而已,算是个方便的小工具吧
代码如下://把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret=””, strSpecial=”!\”#$%&'()*+,/:;<=>?@[\]^`{|}~%”; for(i = 0; i < str.length; i++) { //alert(...
方法一: 代码如下:function gb2utf8(data){ var glbEncode = []; gb2utf8_data = data; execScript(“gb2utf8_data = MidB(gb2utf8_data, 1)”, “VBScript”); var t=escape(gb2utf8_data).replace(/%u/g,””)....
js 原生只支持utf-8,扩展 js转换成GB2312,js 原生只支持utf-8,扩展 js转换成GB2312,js 原生只支持utf-8,扩展 js转换成GB2312,
想到如下特征来识别汉字: 1. 如果第1位是0就不需要判断的,一定是ASCII字符。... 如果第1位是1开头的,第2位是0开头的,一定是GB编码。 3. 如果第1位是非1110开头的,则一定是GB编码。 4. 多做几个汉字判断。
用来对代码文件格式进行转换,支持GB2312、GBK与UTF-8编码进行互换功能,资源来源于网络,请使用者遵守相关法律。
php 字符编码转换类,支持ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom 互相转换。
unicode 转换工具 js unicode 转换工具 unicode 转换工具 js unicode 转换工具
包含GBK和UTF16字符集的对照表,用于将GBK字节流和UTF字符串之间的互相转换。
直接在url中传递中文参数时,读到的中文都是乱码,那么我们应该怎么将这些参数转换呢,接下来与大家分享下将字符串转换成utf-8或者gb2312编码的参数的技巧
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
网站模板编码转换小助手是一款小巧的编码转换工具,快来... 软件功能 本软件可以将网站模板编码批量由UTF8转换成GBK模式或者有GBK模式批量转换为UTF8模式,目前支持.htm、.html、.php、.js、.css等常用格式编码转换。
EncodeDecode & ANSI-UTF8编码转换工具
可以批量转换文本的编码格式, 比如将GB2312的js,asp,html转换成utf8的文件等等
此工具的功能如下,目前仅能在windows平台...1、支持UTF8、Unicode、GB2312编码普通文本文件任意转换 2、支持UTF8、Unicode、GB2312编码html文件任意转换 3、支持对文件进行Base64编码 4、支持对Base64编码文件进行解码