window.open()打开txt文件中文乱码

在js代码里用以下代码打开txt文件会造成中文乱码。请问有什么解决方法吗?

let newWin = window.open('_blank');
newWin.location = 'a.txt';
//newWin.document.charset="UTF-8";
console.log('88888:',newWin.document.charset)
newWin.document.characterSet="UTF-8";

使用了charset等几种属性赋值,但是charset等属性都是只读属性,所以这种方法没有效果。
图片描述

阅读 11.6k
3 个回答

var newUrl= "data:text/html;charset=utf-8,"+ encodeURI(url).replace(/#/g,"%23");
window.open(newUrl);

在后端设置header('Content-Type: text/plain; charset=utf-8')。
或者不要在新页面打开,直接在当前网页里用<pre>或者<code>标签插入txt文件的内容。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题