2017-03-02 16 views
-2

我有一个网站刮板应用程序,它会将一些日文网站剪掉。该网站使用UTF-8编码的日文字符。例如,python中的json.dump()2.7转储文本编码

2017-03-02 17:14:17,862 - __main__ - DEBUG - 出演者: 青山茉利奈 
2017-03-02 17:14:17,862 - __main__ - DEBUG - 作者: ひつき 
2017-03-02 17:14:17,862 - __main__ - DEBUG - 収録時間: 123分 

正如你所看到的,当我在代码做logger.debug(),字符正确显示在屏幕上。但是当我使用json.dump()倾倒在JSON文本文件中这一数据,字符串编码为类似

"\u53ce\u9332\u6642\u9593": "123\u5206",

这不是我想要的。我想要的就是我在调试日志中看到的内容。我怎么解决这个问题?

+0

这已经在网站上回答过,在这里:http://stackoverflow.com/a/18337754/1759987 –

+1

这个链接的解决方案工作。我将该对象转储到一个json字符串,然后将其保存到一个文件中。 – fhcat

+1

[将json.dumps中的utf-8文本保存为UTF8,而不是\ u转义序列](http://stackoverflow.com/questions/18337407/saving-utf-8-texts-in-json-dumps utf8-not-u-escape-sequence) –

回答

-1
json.dumps(whatever, ensure_ascii=False) 

指定ensure_ascii=False禁用\u逃逸。请注意,如果此转义的存在实际上会导致您遇到问题,那么无论接收此JSON的代码是否被破坏。

+0

谢谢,现在我得到 'UnicodeEncodeError:'ascii'编解码器无法对位置4-26中的字符进行编码:序号不在范围内(128)' – fhcat