javascript保存时的数据URI字符集

时间:2011-12-18 16:12:56

标签: javascript data-uri

我在utf-8页面中使用这样的东西:

var data = "a\tb\tc\r\nd\te\tf";
window.location.href = "data:text/csv;charset=utf-8," + encodeURIComponent(data);

强制浏览器下载文本并保存。我工作得很好,除了当我在excel中打开文件时它没有正确打开(它既不读取分隔符也不读取阿拉伯字符)..我需要“导入数据”以指定文件是UTF-8,当我这样做时它正常工作......当我在记事本中打开文件并以unicode重新保存时......它可以正常工作。有没有办法强制它从一开始就保存在unicode中?或者在excel中正确打开csv文件。

我尝试将其更改为“charset = utf-16”,但它无效。

PS:我无法更改页面字符集。

感谢任何帮助。 感谢

2 个答案:

答案 0 :(得分:2)

这就是你需要的,一个小插件:

dialogs

这个插件(' \ uFEFF')让它成为现实" UTF-8",没有它,它将是:" UTF-8没有BOM&#34 ;

答案 1 :(得分:1)

您的JS代码产生的是

a    b   c 
 d   e  f

但有效应该是

a,b,c
d,e,f

代码

var data = "a,b,c\r\nd,e,f";

制表符分隔格式

a    b    c
d    e    f

代码

var data = "a\tb\tc\r\nd\te\tf";

CSV缺少以逗号分隔的值