js中使用FileReader读取utf-8与GB2312格式文件不乱码
时间: 2024-02-23 08:00:50 浏览: 308
java编码问题详解
在 JavaScript 中,可以使用 `FileReader` 对象来读取文件,并将文件内容以字符串形式返回。为了确保读取的文件不出现乱码,需要指定正确的编码格式。下面是一个示例代码,可以读取 utf-8 和 GB2312 格式的文件,并解决乱码问题:
```javascript
function readFile(file, callback) {
let reader = new FileReader();
reader.onload = function(event) {
let fileContent = event.target.result;
callback(fileContent);
};
reader.readAsText(file, "GB2312"); // 指定编码格式为 GB2312
}
let fileInput = document.getElementById("fileInput");
fileInput.addEventListener("change", function(event) {
let file = event.target.files[0];
readFile(file, function(fileContent) {
console.log(fileContent);
});
});
```
在上面的示例代码中,我们使用 `FileReader` 对象读取文件,并指定了编码格式为 GB2312。读取完成后,将文件内容以字符串形式传递给回调函数。在实际使用中,可以根据文件的实际编码格式来指定相应的编码格式。
阅读全文