B4stien,谢谢你的回答!在测试了几个基于字符集“utf8”的解决方案后,编码 windows-1252 是唯一能让我在 Excel 365 中保持口音的解决方案!
Manetsus,b4stien 的答案和他的链接对我的情况非常有用:我必须将法语和德语数据导出到 csv 文件中:没有基于“utf8”的解决方案有效......只有他使用“ANSI”的解决方案(窗口-1252) 编码器...
我给他的代码示例,你可以从链接下载依赖的 encoding-indexes.js、encoding.js 和 FileSaver.js...
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="encoding-indexes.js"></script>
<script type="text/javascript" src="encoding.js"></script>
<script type="text/javascript" src="FileSaver.js"></script>
</head>
<body>
<a href="#" id="download-csv">Click me to download a valid CSV !</a>
<script type="text/javascript">
var csvContent = 'éà; ça; 12\nà@€; çï; 13',
textEncoder = new CustomTextEncoder('windows-1252', {NONSTANDARD_allowLegacyEncoding: true}),
fileName = 'some-data.csv';
var a = document.getElementById('download-csv');
a.addEventListener('click', function(e) {
var csvContentEncoded = textEncoder.encode([csvContent]);
var blob = new Blob([csvContentEncoded], {type: 'text/csv;charset=windows-1252;'});
saveAs(blob, fileName);
e.preventDefault();
});
</script>
</body>
</html>
尽管如此,由于Excel在语言和格式的支持上相对开放,我不排除UTF8在我的开发环境中是不支持的,因为它的安装方式......
注意:我在 Windows 7 上使用 Firefox、Chrome 和 IE 11 以及 Excel 365 进行测试...