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