问题描述
- html5下a标签,如何定义下载文件txt的编码方式
- 要用a标签的download属性,下载一个txt的文件,文件内容是js下的字符串,然后本人用blob装成二进制流,在用URL.createObjectURL生成href地址。然后赋给a标签。但是每次遇到字符串中有中文,就会出现txt文本编码自动变成utf-8,本人想要的是ansi格式的txt文件。
<!doctype html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Document</title></head><body><script> function downloadFile(fileName content){ var aLink = document.createElement('a'); var blob = new Blob([content]{type:""text/bath;charset=gbk""}); var evt = document.createEvent(""HTMLEvents""); evt.initEvent(""click"" false false);//initEvent 不加后两个参数在FF下会报错 感谢 Barret Lee 的反馈 aLink.download = fileName; /* aLink.href ='data:text/bath;charset=gbk'+encodeURI(content);*/ aLink.href =URL.createObjectURL(blob); /* aLink.chartset=""GBK""; aLink.hreflang=""zh"";*/ console.log(aLink.href); aLink.dispatchEvent(evt); } var str =""dsaklfda你好吗""; downloadFile('lalala.bat'str)</script></body></html>
解决方案
木有大神吗?又去搜索了一些文章,发现是a标签在将数据流转成文件的时候,自动选择了utf8。
时间: 2024-10-30 02:54:26