【发布时间】:2013-04-18 23:30:45
【问题描述】:
我有一个法语文件夹树。当我阅读它的文件夹/文件时,它返回 é 而不是 é。我替换了字符,但这不是一个好的解决方案。我怎样才能解决这个问题 ? 我在谷歌上找到了一些答案,但对我没有帮助。
谢谢!
【问题讨论】:
-
您可以从发布您正在使用的代码开始。您可能只是在使用默认字符编码进行阅读,而它可能应该是 UTF-8,但如果没有看到您的代码,我们就无法判断。
-
还要注意您系统中设置的操作系统和默认区域设置。例如,在设置了俄语区域设置/语言的 Windows 中,所有文件名都以
Cp866编码进行编码。我认为对于其他语言,Windows 中使用了另一种非 unicode 编码。 -
我通过提供根文件夹路径来访问子文件夹。根路径名是英文的。我只是使用 `new File(rootPath)' 没什么特别的。如果文件夹/文件包含 é ,java 无法找到它。
-
这看起来像是使用旧编码(例如 windows-1252 或 ISO-8859-15)解码的 UTF-8 字节序列。确保 JRE 的默认编码与系统默认编码匹配。
-
System.getProperty("file.encoding")和Charset.defaultCharset()返回什么?
标签: java unicode character-encoding