2017-03-02 10 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-テキストファイルを使用したjavascript) –

+1

@oneNic​​eFriend:質問者がテキストファイルを作成するために 'ActiveX'を使用したいとは思っていません。これは古く、Internet Explorerでしか動作しません。 – ventiseis

答えて

1

documentationは、encodeURIComponentUTF-8のみを生成します。だから私たちは何か違うものを試す必要があります

私は一緒にいくつかの作品を入れてみました:

text-econding polyfill

  • 近代的なブラウザ(クローム56)と
  • 、それは(私のために)動作します:

    <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

BLOBを作成するために 'uint8array'を配列に入れなければならない理由は分かりません。説明は? – ventiseis

+0

ありがとうございます...その作業..私のプロジェクトを保存しました... – ashwini777

関連する問題