保存时的javascript数据URI字符集
我在utf-8页面中使用类似的内容:保存时的javascript数据URI字符集,javascript,data-uri,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,当我这样做时,它可以正常工作。。。当我在记事本中打开文
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:我无法更改页面字符集
感谢您的帮助。
谢谢你的JS代码产生的是
a b c
d e f
但有效的方法应该是
a,b,c
d,e,f
编码
var data = "a,b,c\r\nd,e,f";
var data = "a\tb\tc\r\nd\te\tf";
或采用制表符分隔格式
a b c
d e f
编码
var data = "a,b,c\r\nd,e,f";
var data = "a\tb\tc\r\nd\te\tf";
CSV是逗号分隔值的缩写
- JS代码生成的是
a b c
d e f
但有效的方法应该是
a,b,c
d,e,f
编码
var data = "a,b,c\r\nd,e,f";
var data = "a\tb\tc\r\nd\te\tf";
或采用制表符分隔格式
a b c
d e f
编码
var data = "a,b,c\r\nd,e,f";
var data = "a\tb\tc\r\nd\te\tf";
CSV是逗号分隔值的缩写
- 这是您需要的,一个小插件:
'data:text/csv;charset=utf8,' + '\uFEFF' + encodeURIComponent(csv)
这个插件('\uFEFF')使它成为真正的“UTF-8”,没有它,它将是:“UTF-8 w/o BOM”这是您需要的,一个小插件:
'data:text/csv;charset=utf8,' + '\uFEFF' + encodeURIComponent(csv)
这个插件('\uFEFF')使它成为真正的“UTF-8”,如果没有它,它将是:“UTF-8 w/o BOM”我不能使用逗号,因为我有带逗号的数值。我可以使用“;”它将被正确分隔,但阿拉伯字符不会被读取。@AhHatem您可以使用制表符分隔(见我答案的第2部分),关于阅读,你确定这是保存和不读取UTF16数据的问题吗?@AhHatem或者这可能是保存了哪个字符集的问题页的代码,检查一下我很抱歉不理解你的意思:“字符集保存了页的代码”我不能使用逗号,因为我有带逗号的数值。我可以使用“;”它将被正确地分隔,但阿拉伯字符不会被读取。@AhHatem您可以使用tab separated(参见我答案的第2部分),关于读取,您确定这是保存和不读取UTF16数据的问题吗?@AhHatem或者这可能是保存页面代码的字符集的问题,检查一下我很抱歉不明白你的意思:“字符集保存在页面的代码中”谢谢:)这真的很有用谢谢:)这真的很有用