Pythonで下記のようなutf8のjsonをファイルから読み込んで表示しましたが、下記エラーのため表示できませんでした。
[
{
"id": "1",
"idx": 1,
"text": "あああああ"
}
]
エラー
Traceback (most recent call last):
File "./index.cgi", line 23, in <module>
print d['text']
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
idとidxは問題なく表示されますがtextはこのエラーが出ます。どのようにすれば表示できるのでしょうか。
jsonの扱いはsimplejsonで下記のようにファイルを読み込んでいます。
f = open('sample.json', 'r')
data = json.load(f)
PythonはPython2.5.1です。
よろしくお願いします。
index.cgi
#!/usr/bin/python
#coding:utf-8
import sys
import cgitb
cgitb.enable()
try:
import json
except ImportError:
import simplejson as json
print 'Content-Type: text/html\n'
print
f = open('sample.json', 'r')
data = json.loads(f.read().decode('utf-8'))
f.close()
for d in data:
print d['text']
#print json.dumps(data, ensure_ascii=False).encode('utf8')