Xcode 10无法使用特定编码解码输入文件

问题描述 投票:0回答:5

我正在开发iOS应用程序。它在Xcode 9.4.1中运行良好,但是当我在Xcode 10中构建它时,它会给我以下错误:

Error

我通过改变编码尝试了solution given in the following post,但它没有用。我通过Reinterpret和Convert尝试了它

enter image description here

仍然是同样的错误:

enter image description here

它在Xcode 9.4.1上运行良好

任何帮助将不胜感激。谢谢!

ios encoding localizable.strings xcode10
5个回答
2
投票

听起来好像文件已损坏,可能部分文件以UTF-8编码,部分文件编码为8859-5。从它的名字,我怀疑这是一个西里尔语本地化(可能是俄语),该文件可能使用编辑器编辑,该编辑器没有正确维护编码或使用UTF-8(最常见的原因是在Windows上编辑) 。

您需要打开文件,可能是在外部编辑器中,可以处理vim或Sublime Text等随机编码,并修复任何损坏。具体如何做到这一点取决于腐败的性质。


7
投票

在终端中找到Localizable.strings并执行:

$ iconv -f UTF-16LE -t UTF-8 Localizable.strings >  LocalizableNew.strings

然后检查LocalizableNews.string,如果没有错误,只需替换文件

$ move LocalizableNew.strings Localizable.strings

1
投票

您需要在文件检查器中设置正确的文本编码。默认值为UTF-8。


0
投票

如果要在没有UI的情况下解决问题,则需要查找XCode项目定义(通常是YOURPROJECT.xcodeproj/project.pbxproj),然后找到导致问题的文件引用。

你应该找到这样的东西(来自Adium,在这种情况下)

D182F1B611DFF23700E33AE2 /* sk */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/schema.strings; sourceTree = "<group>"; };

fileEncoding = 10是UTF-16; 4是UTF-8,目前是默认值,因此您可以明确地将其设置为该值,或者只是完全删除fileEncoding位。


0
投票

一旦我在Xcode 10.4中打开我的项目并在Xcode 10.1中打开它,我就有类似的错误。

我通过选择我的所有Localizable.strings文件并将文本编码更改为UTF-16来解决它(在我的情况下,错误与UTF-16有关,您可以将其更改为UTF-8)

因此,将文本编码更改为UTF-16或UTF-8将起作用。

enter image description here enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.