Python保存json文件,英文内容出现乱码

处理json文件乱码问题


前言

在爬取网页内容是,有的时候会爬取到带有特殊符号的英文名字,如”J. Valančiūnas“,但是在保存json文件的时候,会出现乱码的情况。

下图是我保存的json文件,文件内容出现的乱码

在这里插入图片描述

而我爬取的网页中的人名是:“J. Valančiūnas”

在这里插入图片描述

接下来解决这个问题!!!

方法

首先尝试写一段代码,模拟以上问题

import json
file = open('test_data.json', mode='w')
d = {
    
    }
d['hometeam_name'] = 'yongshi'
d['awayteam_name'] = 'kaierteren'
d['player'] = 'J. Valančiūnas'
d['events'] = []
c = {
    
    'a' : 'b'}
f = {
    
    'haha':'heihei'}
d['events'].append(c)
d['events'].append(f)
print(d)
json_str = json.dumps(d)
print(json_str)
file.write(json_str)
file.close()
print("json文件写入完成")

输出如下:

{
    
    'hometeam_name': 'yongshi', 'awayteam_name': 'kaierteren', 'player': 'J. Valančiūnas', 'events': [{
    
    'a': 'b'}, {
    
    'haha': 'heihei'}]}
{
    
    "hometeam_name": "yongshi", "awayteam_name": "kaierteren", "player": "J. Valan\u010di\u016bnas", "events": [{
    
    "a": "b"}, {
    
    "haha": "heihei"}]}
json文件写入完成

果然,文件中的也是乱码:

在这里插入图片描述
修改代码:

import json
file = open('test_data.json', mode='w', encoding='utf-8')
d = {
    
    }
d['hometeam_name'] = 'yongshi'
d['awayteam_name'] = 'kaierteren'
d['player'] = 'J. Valančiūnas'
d['events'] = []
c = {
    
    'a' : 'b'}
f = {
    
    'haha':'heihei'}
d['events'].append(c)
d['events'].append(f)
print(d)
json_str = json.dumps(d, ensure_ascii=False)
print(json_str)
file.write(json_str)
file.close()
print("json文件写入完成")

输出如下:

扫描二维码关注公众号,回复: 16401381 查看本文章
{
    
    'hometeam_name': 'yongshi', 'awayteam_name': 'kaierteren', 'player': 'J. Valančiūnas', 'events': [{
    
    'a': 'b'}, {
    
    'haha': 'heihei'}]}
{
    
    "hometeam_name": "yongshi", "awayteam_name": "kaierteren", "player": "J. Valančiūnas", "events": [{
    
    "a": "b"}, {
    
    "haha": "heihei"}]}
json文件写入完成

文件中的内容:

在这里插入图片描述
问题解决!!!

猜你喜欢

转载自blog.csdn.net/Ayu147258/article/details/127378375