编程语言
首页 > 编程语言> > Java的字符集/字符编码

Java的字符集/字符编码

作者:互联网

我有一个西班牙文件,所以它充满了以下字符:

 á é í ó ú ñ Ñ Á É Í Ó Ú 

我必须阅读该文件,所以我这样做:

fr = new FileReader(ficheroEntrada);
BufferedReader rEntrada = new BufferedReader(fr);

String linea = rEntrada.readLine();
if (linea == null) {
logger.error("ERROR: Empty file.");
return null;
} 
String delimitador = "[;]";
String[] tokens = null;

List<String> token = new ArrayList<String>();
while ((linea = rEntrada.readLine()) != null) {
    // Some parsing specific to my file. 
    tokens = linea.split(delimitador);
    token.add(tokens[0]);
    token.add(tokens[1]);
}
logger.info("List of tokens: " + token);
return token;

当我读取令牌列表时,所有特殊字符都消失了,并被这种字符替换:

Ó = Ó
Ñ = Ñ

等等…

发生了什么?我从未遇到过charsets的问题(我假设是charset问题).是因为这台电脑吗?我能做什么?

任何额外的建议将不胜感激,我正在学习!谢谢!

解决方法:

您需要指定相关的字符编码.

BufferedReader rEntrada  = new BufferedReader(
    new InputStreamReader(new FileInputStream(fr), "UTF-8"));

标签:java,character-encoding,non-ascii-characters
来源: https://codeday.me/bug/20190715/1469083.html