javascript,我们如何读取带有重音字母的本地文本文件?
我有一个疑问,因为我需要读取一个本地文件,并且我一直在研究一些线程,我已经看到了处理它的各种方法,在大多数情况下都有一个输入文件 我需要通过代码直接加载它 我研究过这条线索: 我能读到它 令人惊讶的是,当我试图拆分行和词时,它显示:� 替换重音字母 我现在掌握的代码是: myFileReader.jsjavascript,我们如何读取带有重音字母的本地文本文件?,javascript,html,utf-8,character-encoding,Javascript,Html,Utf 8,Character Encoding,我有一个疑问,因为我需要读取一个本地文件,并且我一直在研究一些线程,我已经看到了处理它的各种方法,在大多数情况下都有一个输入文件 我需要通过代码直接加载它 我研究过这条线索: 我能读到它 令人惊讶的是,当我试图拆分行和词时,它显示:� 替换重音字母 我现在掌握的代码是: myFileReader.js function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", fi
function readTextFile(file) {
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function () {
if (rawFile.readyState === 4) {
if (rawFile.status === 200 || rawFile.status == 0) {
allText = rawFile.responseText;
console.log('The complete text is', allText);
let lineArr = intoLines(allText);
let firstLineWords = intoWords(lineArr[0]);
let secondLineWords = intoWords(lineArr[1]);
console.log('Our first line is: ', lineArr[0]);
let atlas = {};
for (let i = 0; i < firstLineWords.length; i++) {
console.log(`Our ${i} word in the first line is : ${firstLineWords[i]}`);
console.log(`Our ${i} word in the SECOND line is : ${secondLineWords[i]}`);
atlas[firstLineWords[i]] = secondLineWords[i];
}
console.log('The atlas is: ', atlas);
let atlasJson = JSON.stringify(atlas);
console.log('Atlas as json is: ', atlasJson);
download(atlasJson, 'atlasJson.txt', 'text/plain');
}
}
};
rawFile.send(null);
}
function download(text, name, type) {
var a = document.getElementById("a");
var file = new Blob([text], {type: type});
a.href = URL.createObjectURL(file);
a.download = name;
}
function intoLines(text) {
// splitting all text data into array "\n" is splitting data from each new line
//and saving each new line as each element*
var lineArr = text.split('\n');
//just to check if it works output lineArr[index] as below
return lineArr;
}
function intoWords(lines) {
var wordsArr = lines.split('" "');
return wordsArr;
}
函数readTextFile(文件){
var rawFile=new XMLHttpRequest();
打开(“获取”,文件,错误);
rawFile.onreadystatechange=函数(){
if(rawFile.readyState==4){
if(rawFile.status==200 | | rawFile.status==0){
allText=rawFile.responseText;
console.log('完整文本为',所有文本);
让lineArr=输入行(所有文本);
让firstLineWords=intoWords(lineArr[0]);
让secondLineWords=intoWords(lineArr[1]);
log('我们的第一行是:',lineArr[0]);
让atlas={};
for(设i=0;i
问题是:我们如何处理那些带有重音的元音的特殊字符?
我问这个问题,因为即使在IDE中,如果我们在UTF-8中加载txt,也会出现询问标记,所以我改为ISO-8859-1,并且加载良好
我还研究了:
此外,您能否解释一下,在客户端javascript中加载文件是否有较短的方法。例如,在Java中有FileReader/FileWriter/BufferedWriter。Javascript中有类似的东西吗?
谢谢你的帮助 听起来该文件是用ISO-8859-1(或可能是非常类似的Windows-1252)编码的 这些编码没有BOM或等效物 我能看到的唯一解决方案是:
内容类型
头,编码标识为字符集,例如内容类型:text/plain;编码=ISO-8859-1
听起来该文件是用ISO-8859-1(或者可能是非常类似的Windows-1252)编码的 这些编码没有BOM或等效物 我能看到的唯一解决方案是:
内容类型
头,编码标识为字符集,例如内容类型:text/plain;编码=ISO-8859-1
.html
文件中,
例如:
将文本放入具有相应内容类型的.html
文件中,
例如:
“此外…”因此,重要的是问一个问题,而不是两个(或更多)。(我正要链接到说明这一点的帮助页面……我找不到。这是帮助中的一个问题。:-)接受文本文件的第一步是知道它使用哪个字符编码。“此外…”因此,重要的是问一个问题,而不是两个(或更多)问题。(我正要链接到说明这一点的帮助页面,但……我找不到。这是帮助中的一个问题。:-)接受文本文件的第一步是知道它使用的字符编码。