在使用xmlhttprequest获得返回的数据后,数据中包含中文,在HBuilder中打印出来是乱码,服务端那边用的都是GBK的编码,请问怎样才能把乱码调整为可识别的中文。
{"title":"ʷ�IJ�","defaultorg":"","name":"","defaultorgTitle":"�ɷݱ���"}
水影鸣人
- 发布:2015-04-08 14:55
- 更新:2015-04-08 15:35
- 阅读:2385
水影鸣人 (作者)
这个应该是GBK的编码,现在想把他转换成utf-8的编码,你知道怎么用js来转换吗?
2015-04-08 16:04
DCloud_UNI_FXY
plus的xmlhttprequest应该已经对编码做了处理
2015-04-08 16:36
Antecer
http://www.uuxs.net/book/6/6051/2468191.html 求测试
2016-05-09 21:06
DCloud_UNI_FXY
回复 Antecer:你是要用ajax请求这个地址,然后返回内容?我这里测试请求这个地址没有乱码
2016-05-10 15:47
Antecer
回复 DCloud_UNI_FXY:我是用xmlhttprequest请求这个地址,然后返回内容的。刚开始学HTML5,我用了HBuilder里面的例程,然后修改了一下Get的网址,获取的网页如果是utf8就是正常的,若是gbk就乱码。
2016-05-10 18:25
Antecer
回复 DCloud_UNI_FXY:能提供下实现代码么,谢谢!
2016-05-10 18:34
DCloud_UNI_FXY
回复 Antecer:mui.ajax({
url: 'http://www.uuxs.net/book/6/6051/2468191.html',
dataType: 'html',
success: function(response) {
document.body.innerHTML = response;
}
})
2016-05-10 19:49
Antecer
回复 DCloud_UNI_FXY:mui.ajax的确是能解决编码问题,但是直接使用Html5+SDK的xmlhttprequest仍然会乱码,这个能解决么?
2016-05-15 10:08
DCloud_UNI_FXY
回复 Antecer:目前5+的XMLHttpRequest是根据response的header里的content-type来识别编码的。你这个页面content-type未指定编码,所以默认使用了utf8
2016-05-16 16:30
Antecer
回复 DCloud_UNI_FXY:额,只能根据请求头内的content-type:charset识别么,那么碰到没有content-type的网站不就惨了。能否根据<meta>里面的content-type:charset来识别呢?如果是这个的话,貌似绝大部分网站都有。。。
2016-06-10 22:55
Antecer
回复 DCloud_UNI_FXY: http://ask.dcloud.net.cn/article/103 这里说 新增XmlHttpRequest对象overrideMimeType方法重写服务器返回数据MIME类型,然而刚测试了下,就算添加xhr.overrideMimeType('text/html; charset=gbk');过后,在没有content-type的gbk网页仍然乱码。
2016-06-10 23:15
DCloud_UNI_FXY
回复 Antecer:这个是你需要知道目标网页编码,然后自己overrideMimeType指定的编码,而不是统一使用gbk
2016-06-14 17:07