Python-如何在Heroku上使用JSON解决UTF8问题?

问题描述

我有一个.txt,里面装有字典列表,并且其中有一些文件名,其中一些包含äöü。我试图用以下代码加载它:

with open('res/mp3s_stats.txt','r',encoding="utf-8") as f:
     data = json.load(f)

但是我得到这个错误

  File "C:\Users\laure\AppData\Roaming\Python\python38\site-packages\discord\ext\commands\bot.py",line 903,in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\laure\AppData\Roaming\Python\python38\site-packages\discord\ext\commands\core.py",line 855,in invoke
    await injected(*ctx.args,**ctx.kwargs)
  File "C:\Users\laure\AppData\Roaming\Python\python38\site-packages\discord\ext\commands\core.py",line 94,in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 6184: invalid continuation byte

我该怎么解决?每当我写入或读取此文件时,我就已经在使用encoding =“ utf-8”:/

解决方法

我的直觉是您的txt文件实际上不是UTF-8编码的。 ({0XE4是有效的ISO-8859-15字符(ä),但不是有效的UTF-8字符。)