【问题标题】:Can't convert string from 'UTF-8' to native encoding无法将字符串从“UTF-8”转换为本机编码
【发布时间】:2012-08-05 20:32:10
【问题描述】:

当我尝试在 Eclipse (Team->Compare) 中比较我的项目时收到以下错误消息:

(无法将字符串从 'UTF-8' 转换为本机编码)

***
diff --old /Users/admin/Documents/workspace_branch_2.8/Test --new https://192.168.1.202/svn/main_repository/tenios/Voxtelo/bundle/trunk/Server/Test
    Invalid argument
svn: Kann Zeichenkette nicht von »UTF-8« in die eigene Codierung konvertieren:
svn: 
Eigenschafts?\195?\164nderungen: /Users/admin/Documents/workspace_branch_2.8/Test/src/main/java/org/test/test/internal/commands/Command.java

ZM-Schicht Anforderung gescheitert
svn: Fehler beim Lesen der Antwort auf die REPORT Anfrage von Festplatte
***

但是,如果我运行命令:

svn diff --old /Users/admin/Documents/workspace_branch_2.8/Test --new https://192.168.1.202/svn/main_repository/tenios/Voxtelo/bundle/trunk/Server/Test

在 mac os 上使用命令行,差异工作没有问题。根据我的阅读,当客户端从存储库收到 UTF-8 字符串时,通常会发生此类错误,但并非该字符串的所有字符都可以显示在当前语言环境的编码中。 “locale”的输出是:

LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL=

似乎eclipse不使用这些设置,有没有其他方法可以在eclipse中配置语言环境设置?我不确定,但问题可能与 javaHL 有关,是否有跟踪文件?

【问题讨论】:

  • 项目属性 -> 资源 -> 文本文件编码是什么意思?
  • 它说继承自容器 UTF-8

标签: eclipse svn diff javahl


【解决方案1】:

JavaHL 只是 SVN 的包装器。如我所见,JavaHL 调用 svn 命令(svn diff ...)并解析返回的消息。您尝试执行的命令返回在此差异中某些属性已更改的信息(在德语 Eigenschaftsänderung 中)。不幸的是,处理呼叫的终端弄乱了编码。结果是“RA 层请求失败”(ZM-Schicht Anforderung gescheitert),这仅仅意味着 JavaHL 无法解析返回的消息。

你可以尝试的事情:

  1. 使用LC_MESSAGES="en_US.UTF-8" /path/to/eclipse/eclipse 启动eclipse,也许JavaHL 会调用带有英文消息的svn 可执行文件

  2. 检查您启动 Eclipse 的终端。它支持unicode吗? (rxvt 没有,而 urxvt 有)

    在终端中输入 ä 并检查输出。您应该将ä 视为可读字符。从我的输出中可以看出,字符应编码为 \303\244 而不是 \195\164 (303 是十进制 195 的八进制表示,244(oct) == 164(dec))

    $ ä
    bash: $'\303\244': command not found
    

希望这会有所帮助。

【讨论】:

  • 用 LC_MESSAGE="de_DE.UTF-8" /path/to/eclipse/eclipse 启动 eclipse 解决了这个问题
猜你喜欢
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多