You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python存储韩语文本到字典时的编解码问题

解决Python字典打印韩文显示Unicode转义序列的问题

这个问题我之前也碰到过!本质是Python 2里字典默认的打印逻辑会调用repr()方法输出字符串,把Unicode字符转换成了\uc138这类转义序列;而单独打印字符串时是调用str()方法,在终端编码支持的情况下就能正常显示韩文。下面给你几个实用的解决办法:

  • 手动遍历键值对打印
    绕过字典默认的打印方式,逐个输出键和对应的值,这样每个值会以正常的Unicode字符显示:

    my_dict = {'title': u'\uc138\ubbf8\ub098 \ud6c4\uae30'}
    # Python 2写法
    for key, value in my_dict.items():
        print key, ":", value
    # 如果是Python 3(建议升级到Python 3,这类问题会少很多)
    # for key, value in my_dict.items():
    #     print(f"{key}: {value}")
    
  • 用json模块序列化打印
    json模块可以帮我们自动处理Unicode字符的显示,记得加上ensure_ascii=False参数,避免转成ASCII转义:

    import json
    my_dict = {'title': u'\uc138\ubbf8\ub098 \ud6c4\uae30'}
    print(json.dumps(my_dict, ensure_ascii=False))
    

    执行后会直接输出{"title": "세미나 후기"}这样的正常韩文。

  • 用pprint模块指定编码打印
    如果习惯用pprint来格式化输出字典,可以指定encoding='utf-8'参数,让它把Unicode字符串转成UTF-8字节串输出:

    import pprint
    my_dict = {'title': u'\uc138\ubbf8\ub098 \ud6c4\uae30'}
    pprint.pprint(my_dict, encoding='utf-8')
    

另外补充一句:如果条件允许,建议直接升级到Python 3,因为Python 3默认字符串就是Unicode类型,打印字典时会直接显示正常的字符,这类编码问题会少很多~

内容的提问来源于stack exchange,提问作者user3562812

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:40:33