我在Debian机器上运行Java程序。其中,这个软件复制了一些目录:cp -r --remove-destination /etc/some/dir /opt/some/dir
。但是,当其他人正在运行该程序时,一些特殊字符(例如,é)不能正确复制(即?)。我认为它来自用户本地人。但我不想修改它。
有人知道如何使用cp
或其他命令复制一些带有特殊字符的文件而不会篡改用户本地人吗?或者让我用Java文件复制API解决这个问题?
谢谢!
你的/etc/some/dir
上安装了什么样的文件系统?
尝试使用选项iocharset=utf8
挂载
我终于找到了一个指定用于Java的编码的解决方案:
java -Dfile.encoding=UTF-8 file.jar
如果不指定它,JVM将从执行.jar
的用户的环境变量中获取编码。