振动功能解码Python

问题描述 投票:0回答:1
我在Windows 10上使用Python3.10.6.

当我直接运行代码时,它将用编码UTF-8的正确字符串打印XML内容。一个节点看起来像这样:
<despacho codigo="IPAS009" nome="Publicação de pedido de registro para oposição (exame formal concluído)"/>

,但是,如果我使用Azure函数在本地运行相同的代码,它将像这样打印:

<despacho codigo="IPAS009" nome="PublicaþÒo de pedido de registro para oposiþÒo (exame formal concluÝdo)"/>
我认为这是我的代码以错误的方式编码某些内容的问题,我尝试了稍后解码的各种方式,但没有找到任何解决方案。然后我在没有Azure功能的情况下进行了测试,并且可以很好地工作。
我使用HTTP触发Azure函数。现在,它仅托管服务器,当我调用端点时,它在没有任何参数的情况下运行该函数。

我尝试强迫其他编码,例如

xml_content = xml_content.decode("UTF-8")
,但没有改变任何东西。
我还尝试了再次编码和解码,但不运气。
    

看起来这个问题是由Azure函数中的默认编码引起的。在本地运行代码时,Python可能默认为UTF-8,但是在Azure中,它可能使用不同的编码(例如Windows-1252),从而导致字符腐败。

要解决此问题,请尝试以下操作:

检查下载文件的编码 - 该文件本身可能不会在UTF-8中编码。您可以使用

chardet

库进行检查。

Azure中的python使用UTF-8 - 尝试配置
python utf-8 azure-functions decode
1个回答
0
投票

sys.stdin

使用UTF-8.

  1. 将Azure环境变量设置为UTF-8 - 在Azure Portal中,添加一个环境变量,并使用值

    PYTHONUTF8

    .

  2. try用

    1

    解码文本 - 如果有问题的字符,这可能会用可读的字符代替。
    
    这些解决方案之一应该解决该问题。让我们知道它是否有帮助!

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.