jasmine1

从百度网页上下载歌曲,歌曲名称显示乱码

0
阅读(1219)

[DESCRIPTION]

从百度网页上下载歌曲,歌曲名称显示乱码

[SOLUTION]

该问题属于Baidu server返回的Content Disposition中使用GB2312的编码

但并没有说明编码方式

手机端拿到GB2312的中文无法解析

默认使用utf-8导致乱码

当我们请求一个url时,如何来判断需要下载文件还是直接显示内容?

一般来说根据HTTP Response Header中的两项内容

MIME Type 和Content-Disposition

MIME Type 主要是告诉CLIent端文件的内容比如 application/otect-stream

而Content-Disposition则一般告诉Client端所下载的文件名

如果在Content-Disposition中没有填写的话,一般从url中guess

如果server在Content-Disposition中使用GB2312的编码给出中文时

我们这边无法得知该编码方式

便一般用UTF-8来解码,这样便会导致文件名为乱码的问题

来源:一牛网论坛