使用Google AdWords API时出现编码错误

6

我正在使用谷歌广告 API。目前我的唯一代码是:

from googleads import adwords
adwords_client = adwords.AdWordsClient.LoadFromStorage()

这会导致一个错误显示您的默认编码cp1252不是UTF-8。请使用UTF-8编码运行此脚本以避免错误。

我使用的是Python 3.6,默认情况下应该是UTF-8编码。这个错误的原因是什么,如何避免?


你能添加错误的完整堆栈跟踪吗?这里很难弄清楚到底发生了什么。 - dorian
1
@dorian 这就是所有显示的内容。这是一个文本输出到屏幕上,不会导致代码崩溃(事实上,我随后只是忽略了错误,没有其他问题)。 - kyrenia
2个回答

5

原来这是由googleads发出的警告,每当locale.getdefaultlocale()返回的默认编码不是UTF-8时,就会发出此警告。

如果您的脚本没有问题,我认为您可以安全地忽略它。否则,在代码开头设置一个不同的区域设置可能值得一试:

import locale
locale.setlocale(locale.LC_ALL, NEW_LOCALE)

我猜您正在使用Windows系统,因此我不确定正确的区域设置是什么。在Linux上,您可以使用en_US.UTF-8,但这可能对您没有用。


这不起作用,因为locale.setlocale不会更改默认编码(至少在Windows上不会)。 - user3592246

3

尝试导入_locale模块。

import _locale

_locale._getdefaultlocale = (lambda *args: ['en_US', 'UTF-8'])


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接