Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存时的javascript数据URI字符集_Javascript_Data Uri - Fatal编程技术网

保存时的javascript数据URI字符集

保存时的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,当我这样做时,它可以正常工作。。。当我在记事本中打开文

我在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或者这可能是保存页面代码的字符集的问题,检查一下我很抱歉不明白你的意思:“字符集保存在页面的代码中”谢谢:)这真的很有用谢谢:)这真的很有用