用Java打印外来字符

用Java打印外来字符,java,unicode,println,Java,Unicode,Println,我有一个文本文件(.txt),其中包含带有外来字符的单词。 例如,第一个单词是école 我使用stringlinedata=inputBuffFile.readLine()读取中的每一行 因此,lineData变成了“école” 1) 我可以使用String replpoption=console.readLine(lineData),将单词打印到命令提示符窗口(作为用户输入问题的一部分)-屏幕显示正确 2) 我可以使用replaceAll替换外来字符。也就是说,tmpWord=lineDa

我有一个文本文件(.txt),其中包含带有外来字符的单词。 例如,第一个单词是école

我使用
stringlinedata=inputBuffFile.readLine()读取中的每一行
因此,
lineData
变成了“
école

1) 我可以使用
String replpoption=console.readLine(lineData)
,将单词打印到命令提示符窗口(作为用户输入问题的一部分)-屏幕显示正确

2) 我可以使用
replaceAll
替换外来字符。也就是说,
tmpWord=lineData.replaceAll(“éco”,“!”)
导致
tmpWord
变成“
!le

根据这两个测试,正确读取和存储外来字符

但是,如果我使用
System.out.println(lineData)
将单词打印到命令提示窗口中,则é将变成另一个字符(带有相同重音符号的大写U)

我浏览了stackoverflow.com上的问题,试图理解这一点,并看到了使用unicode值打印的建议(这意味着我必须将字符转换为unicode等效字符)

他们是打印这些文件的另一种方式,还是我需要包括一个开关?如果已经有人问过这个问题,我会很感激你的指点

提前谢谢大家,,
迈克这是问题的答案。基本上是使用PrintStream来实现的

你使用的是Windows/Mac OS X/Linux吗?这似乎表明你操作系统的默认字符编码不包括该代码点。这是一个很好的解释:Martin,我使用的是Windows 8(但如果我将代码移植到Mac,我是否需要更改代码?)Brett,我真的不明白你说的话,但我会做一些搜索