質問編集履歴

3

BOM変更

2021/04/19 07:01

投稿

koonii26
koonii26

スコア13

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  let data = records.map((record)=>record.join('\t')}).join('\r\n');
10
10
 
11
- csv_string = "\ufffe" + data; //UTF-16
11
+ csv_string = "\ufeff" + data; //UTF-16
12
12
 
13
13
 
14
14
 

2

表記間違い

2021/04/19 07:01

投稿

koonii26
koonii26

スコア13

test CHANGED
@@ -1 +1 @@
1
- csvダウンロードを実装していて、ファイル形式を8進数から16進数に変更したいです。
1
+ csvダウンロードを実装していて、ファイル形式をUTF-8からUTF-16に変更したいです。
test CHANGED
@@ -48,4 +48,4 @@
48
48
 
49
49
  ```
50
50
 
51
- このコードを16進数のBOMありにしたいのですがやり方が分からず教えて欲しいです。
51
+ このコードをUTF-16のBOMありにしたいのですがやり方が分からず教えて欲しいです。

1

この状態だとMacで文字化けします

2021/04/08 04:46

投稿

koonii26
koonii26

スコア13

test CHANGED
File without changes
test CHANGED
@@ -6,13 +6,29 @@
6
6
 
7
7
  function exportCSV(records) {
8
8
 
9
- let data = records.map((record)=>record.join(',')).join('\r\n');
9
+ let data = records.map((record)=>record.join('\t')}).join('\r\n');
10
+
11
+ csv_string = "\ufffe" + data; //UTF-16
10
12
 
11
13
 
12
14
 
13
- let bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
15
+ var array = [];
14
16
 
17
+ for (var i=0; i<csv_string.length; i++){
18
+
19
+ array.push(csv_string.charCodeAt(i));
20
+
21
+ }
22
+
23
+ var csv_contents = new Uint16Array(array);
24
+
25
+
26
+
15
- let blob = new Blob([bom, data], {type: 'text/csv'});
27
+ var blob = new Blob([csv_contents] , {
28
+
29
+ type: "text/csv;charset=utf-16;"
30
+
31
+ });
16
32
 
17
33
  let url = (window.URL || window.webkitURL).createObjectURL(blob);
18
34