2017-03-02 80 views
2

Unicode Encoding... Gettting UTF-8 我使用此代码...如何使用Unicode编码创建使用java脚本的文本文件?

var content = 'demo'; 
    uriContent = "data:application/text," + encodeURIComponent(content); 
    var link = document.createElement('a'); 
    link.setAttribute('href', uriContent); 
    link.setAttribute('download', '22ddd' + '.txt'); 
    link.click(); 

在文本文件中的内容将在印地文的语言,这将进一步转化为APS字体。客户端可用的字体转换器软件在编码为Unicode时工作。我能够正常下载文本文件,但它是UTF-8编码

+1

你看过这篇文章吗? http://stackoverflow.com/questions/5403912/create-a-text-file-using-javascript – oneNiceFriend

+1

可能重复的[使用JavaScript创建文本文件](http://stackoverflow.com/questions/5403912/create- a-text-file-using-javascript) –

+1

@oneNic​​eFriend:我不认为提问者想用'ActiveX'来创建一个文本文件。它很旧,只适用于Internet Explorer。 – ventiseis

回答

1

documentation说,encodeURIComponent只生成UTF-8。所以我们必须尝试不同的东西。

我试图把一些拼凑:

和它的作品(对我来说):

<html> 
    <body> 
     <script>window.TextEncoder = window.TextDecoder = null;</script> 
     <script src="encoding-indexes.js"></script> 
     <script src="encoding.js"></script> 
     <script>   
      demo = function() { 
       var content = 'demo'; 
       var uint8array = new TextEncoder('utf-16', { NONSTANDARD_allowLegacyEncoding: true }).encode(content); 
       var blob = new Blob([uint8array], {type : "octet/stream" }); 
       var url = URL.createObjectURL(blob); 
       var link = document.createElement('a'); 
       link.setAttribute('href', url); 
       link.setAttribute('download', '22ddd' + '.txt'); 
       link.click();  
      }; 
     </script> 
     <button onClick="demo();"> 
      Test 
     </button> 
    </body> 
</html> 
+0

请注意,我不明白为什么我必须在数组中创建'uint8array'来创建blob。任何解释? – ventiseis

+0

谢谢...它的工作..你保存了我的项目... – ashwini777