На самом деле нет никакой связи между этой проблемой и json
, или pandas
, или dataframe
, или vim
, или чем-либо еще.
Это просто проблема отображения символов, которые не являютсякодируется ascii
.
И это произойдет только тогда, когда вы используете Python2, но не Python3.
Вы можете подтвердить это в Python2:
a = {1: "泰坦尼克号"}
print a
# {1: '\xe6\xb3\xb0\xe5\x9d\xa6\xe5\xb0\xbc\xe5\x85\x8b\xe5\x8f\xb7'}
Но выпо-прежнему может печатать его как обычно:преобразуйте все dict
в str
с кодировкой utf-8
, чтобы оно работало.
Кстати, best решение заключается в использовании Python3.