Estou usando com Angular 7 e Typescript
Gera o arquivo *csv mas abre com esses erros de caracteres.
import { Component } from '@angular/core';
import * as fileSaver from 'file-saver';
@Component({
selector: 'ngx-cadastro-clientes',
styleUrls: ['./clientes.component.scss'],
templateUrl: './clientes.component.html',
})
export class ClientesComponent {
downloadCSV() {
const replacer = (key, value) => value === null ? '' : value;
const header = Object.keys(this.data[0]);
let csv = this.data.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(';'));
csv.unshift(header.join(';'));
let csvArray = csv.join('\r\n');
var blob = new Blob([csvArray], { type: "text/csv;charset=utf-8" })
fileSaver.saveAs(blob, "clientes.csv");
}
}

Eu n茫o acho que esse problema seja do download, mas sim da sua ferramenta de planilha (aparentemente o Excel). Garanta que a codifica莽茫o que ele abriu o documento 茅 UTF-8
Na inst芒ncia do seu Blob ali, faz assim, pra definir o charset.
const BOM = '\uFEFF';
const csvArray += BOM;
const blob = new Blob([csvArray], { type: "text/csv;charset=utf-8" })
Define no pr贸prio Bloob o chartset adiciona o caractere relativo ao BOM (marca de ordem de byte)
@JulianoGTZ works like charm!
Thank you. added '\uFEFF' to my string and evertyhing works properly.
Thanks.
I think Ticket can be closed yet
@JulianoGTZ vou testar e se estiver funcionando fecharei a quest茫o. Obg
Most helpful comment
@JulianoGTZ works like charm!
Thank you. added '\uFEFF' to my string and evertyhing works properly.
Thanks.
I think Ticket can be closed yet