cp 不复制特殊字符

cp doesn't copy special characters

我是 运行 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.

的环境变量中获取编码