2017-10-24 4 views
0

私はJavascriptで生成しているCSVファイルを持っています。私は、エンコーディングをUTF-8に設定データを追加し、URIはそうのように、ダウンロードのためにそれを利用可能にする前に、出力をコードしています:const encodedUri = encodeURI(csvContent)UTF-8 CSVファイルをExcelで開き、エンコードを強制的に設定せずに

const csvContent =data:text/csv;charset=utf-8,${csvData}

でファイルを開きます標準(.eg LibreOffice)としてUTF-8エンコーディングを適用するアプリケーションでは、ファイルは非ASCIIテキスト、フランス語、アラビア語を例にして正常に開きます。しかし、私が理解しているようにExcelでファイルを開こうとすると、デフォルトでwindows-1252が使用されますが、出力にはわかりやすいテキストが表示されます。

私の質問は、とにかくユーザーが手動でエンコードを変更しなくても、ExcelがファイルをUTF-8として開くように強制することはありますか?私はユーザーがこれをやることを期待できない立場にいる。

+0

どのようにExcelは、あなたがそれを教えていない場合は、テキストファイルに使用するエンコーディングを知っているだろうか? LibreOfficeでも同じです。この場合、他人の方が良いと思われます。また、CSV仕様のオプションも推測したり、質問したりする必要があります。その代わりに、xlsxを生成できない場合は、[Excel XML](https://odieweblog.wordpress.com/)を生成します2012/02/12/how-to-read-and-write-office-2003-excel-xml-files /)SpreadsheetML。 OpenXMLよりもずっと簡単です。 –

+0

ユーザーはエンコーディングを変更する必要はありません。 Excelのテキストインポートウィザード(データ→テキストから)を使用している場合、Excelにファイルエンコードを含むすべてのCSV質問を要求することができます。 –

答えて

関連する問題