使用google adwords api编码错误
Posted
技术标签:
【中文标题】使用google adwords api编码错误【英文标题】:Encoding error using google adwords api 【发布时间】:2017-07-15 20:41:16 【问题描述】:我正在使用 google adwords api。目前我唯一的代码是:
from googleads import adwords
adwords_client = adwords.AdWordsClient.LoadFromStorage()
这会导致显示Your default encoding, cp1252, is not UTF-8. Please run this script with UTF-8 encoding to avoid errors.
的错误
我使用的是 Python 3.6,默认情况下应该是 UTF-8。这个错误的根源是什么/如何避免?
【问题讨论】:
你能添加错误的完整堆栈跟踪吗?很难弄清楚这里到底发生了什么。 @dorian 这就是显示的全部内容。它是屏幕上的文本输出,不会导致代码崩溃(事实上,我随后只是忽略了该错误而没有任何其他问题)。 【参考方案1】:事实证明,这实际上是googleads
在locale.getdefaultlocale()
返回的默认编码不是UTF-8 时发出的警告。
如果您的脚本运行没有问题,我认为您可以放心地忽略它。否则,可能值得尝试在代码开头设置不同的语言环境:
import locale
locale.setlocale(locale.LC_ALL, NEW_LOCALE)
我认为您正在运行 Windows,所以我不确定正确的语言环境定义是什么。在 Linux 上,您可以使用 en_US.UTF-8
,但这可能不适合您。
【讨论】:
这不起作用,因为 locale.setlocale 不会改变 default 编码(至少在 Windows 上不会)【参考方案2】:尝试导入 _locale 模块。
导入 _locale
_locale._getdefaultlocale = (lambda *args: ['en_US', 'UTF-8'])
【讨论】:
以上是关于使用google adwords api编码错误的主要内容,如果未能解决你的问题,请参考以下文章