【问题标题】:UTF-8 characters in Eclipse - maybe a Windows copy 'n paste issueEclipse 中的 UTF-8 字符 - 可能是 Windows 复制和粘贴问题
【发布时间】:2012-02-28 23:43:05
【问题描述】:

我正在尝试使 Android 应用程序国际化。我有一组用英文写的字符串,我正在使用谷歌翻译将它们转换为目标语言。

然后我复制并粘贴翻译后的文本 Eclipse,但它在 Eclipse 中显示不正确。 例如 我从英语开始

方位,正北以东的度数

翻译成

De paliers, comme degrés Est du nord vrai

当我将它粘贴到 Eclipse 时,我得到了

De paliers, comme degrés Est du nord vrai

我已经检查过,字符串文件的格式是 UTF-8,我还通过将翻译发布到记事本进行了检查,我得到了正确的字符,这让我怀疑这与 Eclipse 和Windows 7。任何人有任何想法或解决方法(即在 Eclipse 之外(例如在记事本中)编辑 xml 文件是否有效?)

【问题讨论】:

  • 我对你的例子没有任何问题。 XML 文件属性(在 Eclipse 中)是否确实显示 UTF8?是的,您可以使用记事本,然后在 Eclipse 中刷新您的 res 文件夹。但是使用谷歌翻译是一个非常糟糕的主意。
  • 我同意重新谷歌翻译,但我不能让某人手动翻译整个应用程序,我认为他们自己的语言的一些近似值比强迫每个人都使用英语更好。是的,属性说 UTF8,这是我检查的第一件事。
  • 只是告诉你,我是法国人,“De paliers, comme degrés Est du nord vrai”完全没有意义。这不是“某种近似”,只是我对它的含义一无所知!所以我不确定有这种翻译比只有英文版本更好......
  • 你可以测试是剪贴板还是编辑器。在控制面板中,为法语添加新的键盘语言,并将键盘类型选择为“美国-国际”。然后您会在桌面的右下方看到一个 EN/FR 符号。选择 FR,然后键入撇号,后跟 e。如果显示 é,则可能是您的网络浏览器弄乱了复制的文本。
  • @huelbois 谢谢!你说得有道理,我已经使用谷歌翻译将 forgen 语言报纸翻译成英文,而且一直如此......好吧,也许文本的短小是个问题,我会寻找更好的选择(我有朋友是第一语言不是英语,所以也许我会要求/招募/骗他们做一些主要的语言)

标签: android eclipse windows-7 copy-paste


【解决方案1】:

只需转到常规 -> 工作区并将文本文件编码设置为 UTF-8。此外,如果您在远程 Linux 服务器上工作,请将“新文本文件行分隔符”设置为 Unix。

【讨论】:

    【解决方案2】:

    您的字符串是 UTF-8(符号 Ã 表示它)但 Eclipse 将您的文件解释为可能是 Cp1252。右键单击该文件并检查 Eclipse 正在使用的内容编码(通常,如果未修改,则从通常默认为 Cp1252 的容器继承。容器按该顺序是项目/工作区/整个 Eclipse 设置)。然而,某些文件,例如 XML,会根据其内容进行处理(XML 有一个标头显示所使用的编码)。

    更新

    如果您检查文件实际上被 Eclipse 解释为 UTF-8,那么这意味着双重转换。当使用Cp-1252 时,Ã 的二进制代码为 0xC3,© 的二进制代码为 0xA9。如果您查看UTF-8 charset table,您会发现 é 字符具有 0xC3 0xA9 的两字节编码。有时在解释数据时会自动进行一些转换(即,当输出 java 字符串到其他字符串时,因为它们最初总是 UTF-16)如果源-目的地编码是已知的。当其中一种编码未知(您的情况)并且转换器必须决定(通常使用默认系统编码)时,就会出现问题。这就是事情开始变得混乱的时候。

    如果原始源确实是 UTF-8 格式但被解释为 Cp1252,您最终可能会在 UTF-8 格式中得到 é。原始 0xC3 0xA9(Cp1252 中的 é 或 UTF-8 中的 é)序列被转换为 0xC3 0x83(UTF-8 中的 Ã)和 0xC2 0xC9(UTF-8 中的©)。

    如果未指定,如何检测原始编码?通常你不能。这就是为什么大多数 UTF-8 编码器在你反馈它们时会进行这种双重转换(从 Cp1252 到 UTF-8,然后在输入之前的输出但将输入解释为 Cp1252 时再次到 UTF-8),除非你在告诉编码器有关编码的文档(例如BOM,顺便说一下Eclipse 不支持)。

    【讨论】:

    • 对不起,我想要的字符串是“De paliers, comme degrés Est du nord vrai”,但它显示为“De paliers, comme degrés Est du nord vrai”但我会检查文件头BRB
    • 不,标题是 UTF8 和文件属性一样
    • 然后检查文件是否真的被 Eclipse 解释为 UTF-8。因此,右键单击该文件并在弹出窗口的“资源”选项中查找“文本文件编码”部分。您应该看到“默认(根据内容类型:UTF-8)”作为选中选项。
    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多