Nel mio caso io uso la funzione generateexcel precedentemente pubblicato, solo l'aggiunta di lettere maiuscole di caratteri speciali in modo da farlo funzionare
function generateexcel(tableid) {
var table= document.getElementById(tableid);
var html = table.outerHTML;
while (html.indexOf('á') != -1) html = html.replace('á', 'á');
while (html.indexOf('Á') != -1) html = html.replace('Á', 'Á');
while (html.indexOf('é') != -1) html = html.replace('é', 'é');
while (html.indexOf('É') != -1) html = html.replace('É', 'É');
while (html.indexOf('í') != -1) html = html.replace('í', 'í');
while (html.indexOf('Í') != -1) html = html.replace('Í', 'Í');
while (html.indexOf('ó') != -1) html = html.replace('ó', 'ó');
while (html.indexOf('Ó') != -1) html = html.replace('Ó', 'Ó');
while (html.indexOf('ú') != -1) html = html.replace('ú', 'ú');
while (html.indexOf('Ú') != -1) html = html.replace('Ú', 'Ú');
while (html.indexOf('º') != -1) html = html.replace('º', 'º');
while (html.indexOf('ñ') != -1) html = html.replace('ñ', 'ñ');
while (html.indexOf('Ñ') != -1) html = html.replace('Ñ', 'Ñ');
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
Speranza che aiuta ...
Hai provato l'aggiunta di una codifica esplicita dichiarazione al tipo di media? 'dati: application/vnd.ms-excel; charset = UTF-8' – Pointy
Sì, era una delle soluzioni che ho trovato e provato prima di chiedere qui, non ha funzionato con i diversi set di caratteri che ho provato ... Dettagli qui: http: //www.weblogism.com/item/270/why-does-e-become-a e http://www.weblogism.com/item/271/why-does-e-become-a-ii – VSP