<p>我试图从MySql数据库中获取一些tweet数据。
我在开发这段代码时遇到了大量的编码错误。最后一个for是我运行代码并使这个输出文件充满\uxx字符的唯一方法,如您所见:</p>
<pre><code>[{..., "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.!!\",...},...]
</code></pre>
<p>我一直在尝试不同的解决方案,但问题是我真的对编码和编码的抽象感到困惑。
我能做些什么来修复这个问题?
或者,更简单的方法是直接获取脏JSON并“解析”它对这些字符进行解码。在</p>
<p>如果你想看看我用来查询数据库的代码:</p>
^{pr2}$
<p>如果我从它的所有应用程序中删除<code>*.decode('latin1')</code>方法,则会出现以下错误:</p>
<pre><code>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
</code></pre>
<p>我真的搞不清字符串是如何从数据库提交到脚本的。在</p>
<p>谢谢你的阅读,任何想法都会很感激。在</p>
<p>编辑1:
在这里您可以看到JSON文件是如何导出的,文本<code>text_tweet</code>key val中出现了编码错误:
<a href="https://github.com/Vichoko/real-time-twit/blob/master/auto_labeling/json/tweets_sismos/tweetsago20160.json" rel="nofollow noreferrer">https://github.com/Vichoko/real-time-twit/blob/master/auto_labeling/json/tweets_sismos/tweetsago20160.json</a></p>