UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

后端 未结 2 924
名媛妹妹
名媛妹妹 2020-12-12 15:33

I am building a web application using Flask and Google App Engine. One of the pages in this web application makes a call via YouTube APIs to get videos given a search term.

相关标签:
2条回答
  • 2020-12-12 15:48

    Figured it out.

    I put the following at the start of my python file

    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    
    0 讨论(0)
  • 2020-12-12 15:53

    From the docs: Jinja2 is using Unicode internally which means that you have to pass Unicode objects to the render function or bytestrings that only consist of ASCII characters.

    A normal string in Python 2.x is a bytestring. To make it unicode use:

    byte_string = 'a Python string which contains non-ascii data like €äãü'
    unicode_string = byte_string.decode('utf-8')
    

    More: http://blog.notdot.net/2010/07/Getting-unicode-right-in-Python

    0 讨论(0)
提交回复
热议问题