水影鸣人
水影鸣人
  • 发布:2015-04-08 14:55
  • 更新:2015-04-08 15:35
  • 阅读:2385

xmlhttprequest获得请求数据的编码问题

分类:MUI

在使用xmlhttprequest获得返回的数据后,数据中包含中文,在HBuilder中打印出来是乱码,服务端那边用的都是GBK的编码,请问怎样才能把乱码调整为可识别的中文。
{"title":"ʷ�IJ�","defaultorg":"","name":"","defaultorgTitle":"�ɷݱ���"}

2015-04-08 14:55 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

有没有在线地址可以让我测试的?

  • 水影鸣人 (作者)

    这个应该是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

该问题目前已经被锁定, 无法添加新回复