Python Youtube API: UnicodeEncodeError: 'charmap' codec can't encode character '\u279c' in position 7741: character maps to <undefined>

Python Youtube API: UnicodeEncodeError: 'charmap' codec can't encode character '\u279c' in position 7741: character maps to <undefined>

我正在尝试在 Python 中使用 Youtube API,这是我的代码:

import googleapiclient.errors
import googleapiclient.discovery
import os
from googleapiclient.discovery import build

api = '*******************************************'


def main():
    api_service_name = "youtube"
    api_version = "v3"
    client_secrets_file = "YOUR_CLIENT_SECRET_FILE.json"

    youtube = googleapiclient.discovery.build(
        api_service_name, api_version, developerKey=api)

    request = youtube.search().list(
        part="snippet",
        maxResults=25,
        q="star wars"
    )
    response = request.execute()

    print(response)


if __name__ == "__main__":
    main()

这应该发送查询“星球大战”的搜索结果请求,但我却在标题中收到错误。使用“冲浪”的默认搜索查询似乎有效,但其他任何方法都无效。如果重要的话,我正在使用 Windows 和 Atom 文本编辑器。

我想为遇到类似问题的任何人添加此问题的答案。最简单的解决方案是(如 stvar 回答的那样):

Try print(json.dumps(response, ensure_ascii = True)) instead. (Of course, have import json too.)

Windows 终端无法显示某些字符,确保 ASCII 解决了这个问题。