首页 新闻 会员 周边

导出页面数据中文乱码问题

0
悬赏园豆:5 [已解决问题] 解决于 2014-09-30 15:56
实现目的是把页面上表格里的数据取出来,放到字符str里,然后创建一个超链接的标签来导出。为了使得代码简化,把从表格里取数的过程去掉,以下是关键代码:

var str="序号,性别,姓名,\n,1,男,张三,\n,2,女,李丽,"; str = encodeURIComponent(str); var uri = 'data:text/csv;charset=utf-8,' + str; var downloadLink = document.createElement("a"); downloadLink.href = uri; downloadLink.download = "export.csv"; document.body.appendChild(downloadLink); downloadLink.click(); document.body.removeChild(downloadLink);

现在的问题是,导出后打开文件,发现中文都是乱码。尝试过在页面加以下代码来限制编码:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

但是问题没解决。各位大侠帮忙找找原因呢?或者有其他方法导出数据。

马路须横穿红灯要硬闯的主页 马路须横穿红灯要硬闯 | 初学一级 | 园豆:199
提问于:2014-08-25 14:03
< >
分享
最佳答案
0

用Encoding.Default格式限制编码,代码页的默认编码是ANSI,一般操作系统的默认编码也是ANSI,如果不是,你试着保存一个文件,看下面保存的编码格式是什么格式。下面保存的编码格式是什么格式,你导出文件时也应该用这个格式的编码。

收获园豆:3
Jack Leonardo | 初学一级 |园豆:107 | 2014-08-25 14:13
其他回答(2)
0

应该是你保存的编码和页面上的编码不一致造成的。

收获园豆:1
晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-08-25 14:43
0

输出的时候,必须指定好编码。是输出的格式。

收获园豆:1
forhells | 园豆:724 (小虾三级) | 2014-08-25 15:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册