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

时间:2022-10-15 13:46:06
[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的编码给出中文时
我们这边无法得知MTK编码方式
便一般用UTF-8来解码,这样便会导致文件名为乱码的问题