WordPress插件翻译问题

WordPress plugin translation issue

我用 poedit 翻译了我的插件,它在 localhost 上运行良好,在新的 wordpress 安装上运行良好,但是当我将插件上传到服务器上时,在现有站点上,一些俄语字符丢失了。我得到的是拉丁文,我用 utf8 编码了 poedite 文件,在标题中我有 utf8。哪里有问题,罗马尼亚语的其他 poedit 翻译效果很好?实际上俄语单词是翻译的,但有些字母仍然是拉丁语。

配置文件是否有一些调整,或者其他什么?我还下载了另一个 wordpress 站点,并在 localhost 上尝试了我的插件,结果相同,缺少一些俄语字符。一些wordpress设置可能有问题吗?

所以俄语翻译适用于新的基本 wordpress 安装,而不是当我在预先存在的站点上安装我的插件时。


通常用于翻译的字符串不存储在数据库中,因此 MySQL 设置通常不是问题。但要使用正确的 UTF-8 编码进行翻译,请确保设置了以下要求:

  • 用 UTF-8(没有 BOM)而不是 ANSI 编码你的插件 PHP 文件
  • 确保您的 .po 文件以 UTF-8 编码,就像插件文件一样
  • 检查 .po 文件的 "header" 以获取正确的 UTF-8 设置:
  • 1
    2
    3
    4
    "Content-Type: text/plain; charset=UTF-8\
    "
    "Content-Transfer-Encoding: 8bit\
    "
  • 确保 HTTP-Response 以 UTF-8 编码
  • 如果设置了所有这些要求,您应该会看到正确的编码字符。


  • 从如何修复 WordPress 中的字符编码问题,尝试注释掉以下行:

    1
    2
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE','');
  • 确保其中一些字符意外出现在 latin1 中。此处解释:WordPress 和 MySQL 字符编码

  • 我认为这篇文章描述了与 1 相同的解决方案,但仍然可能会有所帮助。在您的博客上看到奇怪的字符? Herea€?s 如何修复您的 WordPress 字符编码(Latin1 到 UTF8)

  • 关于 WordPress Dev StackExchange 的参考资料:

    • https://wordpress.stackexchange.com/questions/11247/character-encoding-issue-after-changeing-servers
    • https://wordpress.stackexchange.com/questions/4236/problems-with-wierd-characters-and-my-plugin