【发布时间】:2019-09-18 06:44:27
【问题描述】:
我正在使用 Angular 应用程序中的 javascript 代码将文本数据下载为 .txt 文件。
以下是我的代码:
function download_text_as_file(data: string) {
var element = document.createElement('a')
element.style.display = 'none'
element.setAttribute('href', "data:text/plain;charset=UTF-8,%EF%BB%BF" + encodeURIComponent(data))
element.setAttribute('download', `file_name.txt`)
document.body.appendChild(element)
element.click()
document.body.removeChild(element)
}
但是当我在 Windows 中使用记事本打开下载的文件时,不知何故它没有检测到字符串中的换行符。 但是,当我使用 Notepad++ 打开它时,文本会正确呈现。
我认为这可能是文件编码问题,但文件是以 UTF-8 格式保存的,记事本应该没有问题。
仅供参考:我使用记事本打开文件并单击另存为,它提供了默认选项为 UTF-8,表示文件以 UTF-8 格式正确保存。
我应该使用任何其他编码格式吗?
【问题讨论】:
标签: javascript angular utf-8 utf-16 utf