【问题标题】:poEdit encoding wrong when opening po-files打开po文件时poEdit编码错误
【发布时间】:2016-12-21 12:14:44
【问题描述】:

我在工作中使用 poEdit,但我在 po 文件中的编码遇到问题。

我有 poEdit(1.8.8 版)和 MacBook Pro(10.11.4 版)。 我正在尝试从英语翻译成瑞典语,那里有旧的翻译。但是编码错误,所以我看不到“ä”、“å”和“ö”字符。

更新版本:

我使用 github desktop,当我同步它们的文件时,github desktop 喜欢在我的文件中编写一些代码。而且我 100% 确信 github 桌面可以做到这一点,因为 .po 文件在同步之前运行良好,而且我无法从其他任何地方获取此代码。

这是 github 桌面在我的文件中写入的内容:

blabla

<<<<<<< HEAD 

"POT-Creation-Date: 2016-07-23 00:13+0000\n"
"PO-Revision-Date: 2016-08-03 17:23+0300\n"

=======

"POT-Creation-Date: 2016-08-11 18:37+0000\n"
"PO-Revision-Date: 2016-08-11 18:37+0000\n"

>>>>>>> origin/master

blabla

Sooo,>>>>>> 起源/大师?!?!?!?!?!??!?! 为什么选择 github 桌面? 为什么 poEdit 不能使用它?

我删除了它,一切正常。

旧版本:

当我使用“Sublime text 3”或“textEditor”等其他应用程序打开 .po 文件时,编码正确(即 UTF-8)并且“ä”、“å”和“ö”可见。但是如果我用 poEdit 打开同一个文件,编码将是 ISO-8859-1,这是 'ä','å,'ö' 的输出:

'ä' => 'ä',

'å' => 'Ã¥',

'ö' => 'ö'.

我已尝试更改“目录 -> 属性 -> 字符集”中的编码,但没有任何改变。

我的问题是: 如何使用 poEdit 打开 .po 文件,使编码为 UTF-8。

【问题讨论】:

    标签: encoding special-characters poedit github-desktop


    【解决方案1】:

    Poedit 似乎在理解使用 Notepad++ 生成的文件的编码方面存在一些问题,因此您可以尝试在文件顶部添加这四行,然后再使用 poedit 打开它:

    msgid ""
    msgstr ""
    "Content-Type: text/plain; charset=UTF-8\n"
    "X-Poedit-SourceCharset: UTF-8\n"
    

    【讨论】:

      【解决方案2】:

      我解决了,删除了 github 桌面在我的代码中放置的内容。

      这个:

      blabla
      
      <<<<<<< HEAD 
      
      "POT-Creation-Date: 2016-07-23 00:13+0000\n"
      "PO-Revision-Date: 2016-08-03 17:23+0300\n"
      
      =======
      
      "POT-Creation-Date: 2016-08-11 18:37+0000\n"
      "PO-Revision-Date: 2016-08-11 18:37+0000\n"
      
      >>>>>>> origin/master
      
      blabla
      

      变成这样:

      blabla    
      
      "POT-Creation-Date: 2016-07-23 00:13+0000\n"
      "PO-Revision-Date: 2016-08-03 17:23+0300\n"
      
      blabla
      

      不需要双倍的 POT-Creation-Date 和 PO-Revision-Date。

      【讨论】:

        【解决方案3】:

        Catalog → Properties → Charset 确实改变了一些东西:文件的编码。它不会改变内容

        您的问题是您有一个损坏的 PO 文件(不是由 Poedit 或健全的 gettext 工具创建的),它与它的编码有关。 Sublime Text 中的字符集“正确”并不是真的,它只是默认为 UTF-8。您未提供的文件必须在其编码方面撒谎,并且 Poedit 信任它。换句话说,旧的 Garbage In, Garbage Out 原则。

        在文本编辑器中手动将损坏的 PO 的 Content-Type 标头修复为可能(!)UTF-8,一切都会正确。

        【讨论】:

        • 它一直是 UTF-8,但这只是我一直在使用 github 桌面的最奇怪的东西,并且在同步它时在我的代码中写了一些奇怪的东西,例如:>>>>>> 起源/主人。我把它擦掉了,砰,它起作用了。你知道为什么 github desktop 会把这些东西写到我的代码中吗?
        猜你喜欢
        • 1970-01-01
        • 2014-12-02
        • 2013-05-09
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 2015-07-04
        • 2016-02-26
        相关资源
        最近更新 更多