首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python从JSON文件中读取英语和韩语字符串?

使用Python从JSON文件中读取英语和韩语字符串?
EN

Stack Overflow用户
提问于 2021-03-06 07:03:43
回答 1查看 154关注 0票数 0

我正在尝试使用Python读取包含播放列表中歌曲信息的JSON文件,但在读取韩文和中文字符时似乎遇到了问题?

我的代码如下:

代码语言:javascript
运行
复制
import json
from pprint import pprint

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

for playlist in data['playlists']:
    for item in playlist['items']:
        pprint(item['track']['trackName'])

当我运行它时,所有完全是英文的曲目名称都可以打印出来,但对于那些包含韩语或中文字符的曲目名称,我得到一个错误消息:

代码语言:javascript
运行
复制
  File "...\parse.py", line 10, in <module>
    pprint(item['track']['trackName'])
  File "...\AppData\Local\Programs\Python\Python39\lib\pprint.py", line 53, in pprint
    printer.pprint(object)
  File "...\AppData\Local\Programs\Python\Python39\lib\pprint.py", line 148, in pprint
    self._format(object, self._stream, 0, 0, {}, 0)
  File "...\AppData\Local\Programs\Python\Python39\lib\pprint.py", line 185, in _format
    stream.write(rep)
  File "...\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 5-6: character maps to <undefined>

编辑:当它命中字符时,它似乎也会倒下,给出UnicodeEncodeError:'charmap' codec can't encode character '\u2032'

EN

回答 1

Stack Overflow用户

发布于 2021-03-08 17:00:17

您会重定向输出吗?

Python使用UTF-8作为控制台输出,因此可以打印所有字符。但是当stdout被重定向(例如管道或文件)时,Python会使用ANSI代码页。

您可以将PYTHONUTF8=1环境变量设置为使用UTF8进行默认文本编码。请参阅https://docs.python.org/3/using/windows.html#utf-8-mode

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66500694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档