【发布时间】:2014-09-09 18:06:47
【问题描述】:
我刚刚遇到了缺少编解码器的问题,已经讨论过here,但是那里提供的解决方案修复了其他问题,导致原始问题无法显示。但是我现在遇到了同样的事情,这次没有解决方法。
我有 Windows-1250 编码的 HTML 页面。我正在使用htmlRequest = requests.get(url) 来获取它,我必须将编码明确指定为htmlRequest.encoding = 'windows-1250'。然后阅读htmlRequest.text 应该正确解码内容,它确实适用于 Win 和 Linux,但在 Android 上我只得到空格而不是特殊字符。
我想知道为什么,所以我尝试展示原始的htmlRequest.content,它有效,但在htmlRequest.content.decode('windows-1250')(与htmlRequest.text 相同)上,应用程序引发了一个异常:"LookupError: unknown encoding: windows-1250"。我也尝试了cp1250 这个名字,但是在再次为 Win 和 Linux 工作时,它并没有改变 Android 的情况。
因此,我认为这些编解码器确实丢失了,并寻求帮助来解决这个问题。我无法真正更改该页面的编码,如果我缺少正确的编解码器,我该如何正确解码?或者有没有其他方法可以做到这一点?
编辑: 正如 Ryan 所解释的,白名单应该会有所帮助,但我正在使用 Buildozer 构建 apk。它有什么选择吗(使用buildozer.spec 文件)?
【问题讨论】:
标签: python unicode character-encoding kivy codec