大家都知道,xmlhttp在通信时采用的是utf编码,而国内很多网页的信息都是采用gbk编码,所以当直接通过ajax去连接网页,并将获取到的信息直接显示的话就会出现乱码的现象,有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串:
function gb2utf8(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
} 这段代码也是从网上搜到的,具体是谁写的不清楚,所以在此未标明作者,如作者看到还请见谅。
有了这段代码后,就可以直接对返回的网页内容进行编码了:
var response=gb2utf8(response.responseBody);
经过这样的转码后所获得的页面内容就不会有乱码现象了;
当然,如果服务器端页面采用的是utf-8的编码那就根本不需要进行编码工作了。
分享到:
相关推荐
在编程中,可以使用相应语言的函数或库进行编码转换,如Python的`codecs`模块。 3. **修改程序设置**:如果乱码问题是由程序设置不当引起的,调整程序配置,确保它能正确识别和处理各种编码。 4. **修复文件头信息...
通过对字符编码的深入理解和掌握,以及利用适当的编码转换技术(如Base64),我们可以有效解决跨平台、跨语言环境下的乱码问题,确保数据的准确传输和展示。在现代软件开发中,这些技巧对于构建全球化、多语言支持的...
1. `iconv()`:这是PHP中最常用的编码转换函数,它能够处理大部分的字符编码转换。例如,将UTF-8编码的字符串转为GBK,可以这样写: ```php $utf8_str = "你好,世界"; $gbk_str = iconv("UTF-8", "GBK//TRANSLIT...
通过以上介绍的函数,可以有效地解决ASP中字符编码转换的问题,尤其是中文乱码问题。这些函数的实现不仅考虑了字符编码的基本原理,还针对特定情况做了优化处理,从而确保了转换的准确性和效率。在实际应用中,可以...
在提供的文件`gbk.js`中,可能包含了专门用于处理gb2312编码的JS函数或工具,用于在IE环境下进行编码转换。这些函数可能包括读取gb2312编码的数据,将其转换为UTF-8或其他编码,以便在现代浏览器或系统中正确显示。 ...
本文将详细讨论PHP中的两个编码转换函数`mb_convert_encoding`和`iconv`的使用方法,以及它们在实际场景中的应用。 首先,`mb_convert_encoding`函数用于将字符串`str`的字符编码从`from_encoding`转换到`to_...
编码转换的工具和方法多样,例如使用编程语言内置的函数(如Python的`codecs`模块,Java的`Charset`类),或者使用专门的转换软件(如Notepad++的“编码”菜单,或是在线转换工具)。在进行编码转换时,需谨慎操作,...
字符编码转换函数 这些函数用于在不同字符编码之间进行转换,包括从多字节到宽字符以及从宽字符到多字节的转换。 #### 多字节到宽字符:MultiByteToWideChar ```vb Private Declare Function MultiByteToWideChar...
总的来说,"Discuz 提供的编码转换工具"是为了解决不同编码格式间的兼容性问题,确保在Discuz!论坛中的数据可以顺利地在UTF-8和GBK之间转换,以满足多语种用户的需求。通过批处理脚本和相关库的支持,这个工具使得这...
下面介绍的这个函数就是有关PHP编码转换函数。希望对大家有所帮助。mb_convert_encoding 函数为PHP内部多字节字符串编码...* 多字节字符串编码转换函数 * * @param string str 需要进行编码转换的字符串 * @param
5. **编码转换函数**:在Java、.NET、PHP和JavaScript中都有相应的API用于编码转换,如Java的`new String(byte[], charset)`,.NET的`Encoding.Convert()`,PHP的`iconv()`,JavaScript的`TextDecoder`和`...
总之,易语言调用API实现编码转换是一个涵盖易语言基础、编码理论、API使用技巧、错误处理等多个方面的重要话题,通过深入学习和实践,不仅可以提升编程技能,还能为解决实际问题提供有力工具。
示例代码中的osgDB::writeImageFile函数是一个图像文件写入函数,它在写入时也要使用编码转换,确保图像文件名中的中文字符被正确处理。 在应用这些方法时,应该注意Qt库中的QTextCodec类,它为Qt中的文本编码提供...
易语言编码转换模块的核心功能在于解决字符集不兼容的问题。在处理文本文件或网络数据时,如果原始编码与目标编码不一致,可能会导致乱码。这个模块提供了一个解决方案,能够将任意编码格式的字符串或文件转换成GB...
另一方面,`iconv`函数也是PHP中用于编码转换的一个重要工具,它的语法相对简单: ```php mixed iconv ( string $in_charset , string $out_charset , string $str ) ``` - `$in_charset`:输入字符串的编码。 - `...
网页乱码通常出现在两种情况:一是网页的原始编码与浏览器识别的编码不一致,二是数据在传输过程中编码转换出现问题。在易语言中,我们可以编写程序来识别和转换这些乱码,以确保网页内容正确显示。 1. **编码基础*...
这个"完整版新编码转换大全模块+应用例程()"压缩包文件似乎提供了一个全面的解决方案,涵盖了各种编码转换的工具和示例代码,这对于开发者来说是极其宝贵的资源。 编码转换涉及到计算机如何存储和处理文本数据。...
描述中的"解决iconv无法完美转换的问题"指出,这个类可能采用了不同的策略或算法来避免`iconv`函数在某些情况下的转换不完整或产生乱码。可能的方法包括预处理数据,识别并处理不兼容的字符,或者使用其他库(如`...
`bm()` 函数的主要作用是对输入字符串进行编码处理,使其能在不同的编码环境下传输而不会出现乱码。下面详细介绍该函数的工作原理: 1. **初始化变量**: - `s` 用于存储编码后的字符串。 - 循环遍历输入字符串 `...
在易语言中,编码转换通常涉及到字符集的理解,如ASCII、GBK、UTF-8等,以及相关的转换函数。例如,易语言提供了“字符串转码”和“编码转换”等内置命令,用于处理不同编码间的转换。在批量处理时,需要遍历文件,...