Git错误:格式错误的输入或输入包含不可映射的字符

qaz*_*wsx 5 eclipse git filenames runtime-error character-encoding

我的Eclipse工作区有两个项目,一个使用CVS,另一个使用Git.修改CVS项目中的文件并保存时,会出现一个弹出窗口

An internal error occurred during: "Computing Git status for repository repo23".
Malformed input or input contains unmappable chacraters: /Users/pb/repo23/???/feng11.htm
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

编辑:

Eclipse平台

版本:4.3.1.v20130911-1000 Build id:M20130911-1000

Eclipse EGit 3.2.0.201312181205-r

Von*_*onC 7

您可以在此问题中看到确切的调用堆栈:

java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/jettykoo/Desktop/WeTeam/Git/WSS/MaryKay/Doc/01/.DS_Store
    at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
    at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
    at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
    at java.io.File.toPath(File.java:2186)
    at org.eclipse.jgit.util.FileUtil.isFile(FileUtil.java:126)
    at org.eclipse.jgit.util.FileUtil.canExecute(FileUtil.java:131)
Run Code Online (Sandbox Code Playgroud)

我对sun/nio/fs/UnixPath.java中的拼写错误感到惊讶:'chacraters'而不是'characters'!

正如本NetBeans问题中提到的(应该在Eclipse上下文中相关):

这是一个JDK问题,也部分也是Apple问题(LC_CTYPE默认情况下没有设置).
终端中的行为取决于Terminal.app首选项.

  • 当终端导出LC_CTYPE设置为UTF-8它在终端中工作正常,因为它sun.jnu.encoding被设置为值LC_CTYPE.
  • 当它没有设置时它不起作用.

设置的问题sun.jnu.encoding是它可能被JDK覆盖,因此导出它更安全LC_CTYPE=UTF-8.

而不是addding -J-Dsun.jnu.encoding=UTF-8netbeans.conf,在前面加上出口LC_CTYPE=UTF-8到它.

你可以在你的eclipse.ini(-DLC_CTYPE=UTF-8)中设置它.


Alexander Kachkaev 在评论中提到:

是什么帮助我添加了两行eclipse.ini.

-DLC_CTYPE=UTF-8
-Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

团队命令停止给出错误