在outfi中从数据库中获取带有编码问题的字符串

2024-10-01 22:28:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从MySql数据库中获取一些tweet数据。 我在开发这段代码时遇到了大量的编码错误。最后一个for是我运行代码并使这个输出文件充满\uxx字符的唯一方法,如您所见:

[{..., "lang_tweet": "es", "text_tweet": "Recuerdo un d\u00eda de, *llamada a la 1:45*, \"Micho, me va a dar algo, estoy temblando, me tome un moster y un balium... Que me muero.!!\",...},...]

我一直在尝试不同的解决方案,但问题是我真的对编码和编码的抽象感到困惑。 我能做些什么来修复这个问题? 或者,更简单的方法是直接获取脏JSON并“解析”它对这些字符进行解码。在

如果你想看看我用来查询数据库的代码:

^{pr2}$

如果我从它的所有应用程序中删除*.decode('latin1')方法,则会出现以下错误:

Traceback (most recent call last):
  File "test.py", line 51, in <module>
    j = json.dumps(objects_list, default=date_handler)
  File "C:\Users\Vichoko\Anaconda2\lib\json\__init__.py", line 251, in dumps
    sort_keys=sort_keys, **kw).encode(obj)
  File "C:\Users\Vichoko\Anaconda2\lib\json\encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Users\Vichoko\Anaconda2\lib\json\encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xed in position 13: invalid continuation byte

我真的搞不清字符串是如何从数据库提交到脚本的。在

谢谢你的阅读,任何想法都会很感激。在

编辑1: 在这里您可以看到JSON文件是如何导出的,文本text_tweetkey val中出现了编码错误: https://github.com/Vichoko/real-time-twit/blob/master/auto_labeling/json/tweets_sismos/tweetsago20160.json


Tags: 方法代码inpyjson编码错误line
2条回答

尝试将charset关键字参数传递给connect,如example on pymysql's github所示。在

使用json_encode时,请添加以下额外参数:

$t = json_encode($s, JSON_UNESCAPED_UNICODE);

这将给您í而不是{}。在

(不要使用regexp,不要使用decode函数,等等,它们只会把你的洞挖得更深。)

相关问题 更多 >

    热门问题