【发布时间】:2020-07-24 12:41:01
【问题描述】:
解决 解决方法见文末
晚上好。
我正在尝试使用 google translate v3 api。
我遇到了一个神秘的编码问题。
我这样做:
def translate_text_langueTarget(texteToTranslate, langueTarget):
parent = client.location_path(project_id, location)
langueOrigin = detect_language(texteToTranslate)
if (langueOrigin == "en" and langueTarget == "en"):
return(texteToTranslate)
try:
response = client.translate_text(
parent=parent,
contents=[texteToTranslate],
mime_type='text/plain',
source_language_code=langueOrigin,
target_language_code=langueTarget)
translatedTexte = str(response.translations)[19:-3]
except:
translatedTexte = "Sorry my friend, the translation is lost on the internet"
print(response)
print(type(response))
print(response.translations)
print(type(response.translations))
return(translatedTexte)
我称之为
stringToTrad = "prefer"
langTarget = "fr"
translateString = translate_text_langueTarget(stringToTrad, langTarget)
我希望得到“préféré”的回答
但我得到: "pr\303\251f\303\251rer"
我已尝试在我的代码中进行一些调试来解决此错误,其中:
print(response)
print(type(response))
print(response.translations)
print(type(response.translations))
我认为这是编码问题,但我找不到问题的答案。
我在 python 中工作,我的脚本是标签:
#! /usr/bin/env python3
# coding: utf-8
在标题中
你有什么想法吗?
解决。 我用:
translatedTexte = codecs.escape_decode(translatedTexte)[0]
translatedTexte = translatedTexte.decode("utf8")
【问题讨论】:
标签: python-3.x encoding utf-8 google-api google-translation-api