首页 > 解决方案 > 如何管理以 UTF-8 格式发送数据的 API (DeepL)?

问题描述

我使用 DeepL API:https ://www.deepl.com/docs-api/translating-text/

我通过使用python请求库与它进行交互。

import requests
import ast
r =  requests.post(url='https://api.deepl.com/v2/translate',
                   data = {
                        'target_lang' : 'FR',  
                        'auth_key' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                        'text': ''Honey Was ist denn los hier?''})
print(ast.literal_eval(r.text)['translations'][0]['text'])

输出 :

“Chérie,que se passe-t-il ici?”

如您所见,我得到的是“Chérie”而不是“Chérie”

这很正常,因为 DeepL API :“仅支持 UTF8 编码的纯文本”。

但是我不知道要获得正确的文本(此处为“Chérie”),我在输入中尝试了一些工具,例如“.encode('utf-8')”,但它不起作用。

你有想法吗?先感谢您 :)

标签: pythonapiutf-8python-requestsdeepl

解决方案


我用了 :

import requests 
import ast 
r = requests.post(url='api.deepl.com/v2/translate', 
      data = { 'target_lang' : 'FR', 
               'auth_key' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 
               'text': 'Honey Was it denn los hier?'}) 

print(r.json()['translations'][0]['text'])

我得到:

'Chérie, que se passe-t-il ici ?

谢谢 lenz ;)


推荐阅读