【发布时间】:2012-06-12 07:34:18
【问题描述】:
我在 java 中有字符串,它是包含变音符号的文件名。文件正确存储在 Win 7 Pro 磁盘上(元音变音等正确显示在资源管理器文件列表中)。我还尝试将文件名保存到文本文件,然后使用变音符号正确输出文件名。但是当我使用 File 中的方法 exists() 时,它说文件不存在。如果我尝试使用方法 createNewFile(),它会创建像 ä.txt(最初是 ä.txt)这样的文件。我的设置可能有什么问题?我正在使用 Tomcat 6 和 Eclipse 来运行我的 Web 应用程序。
【问题讨论】:
-
Eclipse项目属性中的编码设置是什么?
-
文件名是硬编码在你的代码中还是你从某个地方读到的?
-
@Robert 它是从 http 请求中读取的,但是如果我将该字符串写入文本文件,那么它会被正确打印,所以它不能与之相关。
-
@SoboLAN 我尝试了默认的 Cp1252 和 UTF-8 并没有解决我的问题。
-
你是用属性 -Dfile.encoding=whatever 启动 java 吗?
标签: java character-encoding diacritics