如果此问题早先已被提出,我深表歉意。我仍然不清楚在python3.2中的编码方式。
我正在阅读一个以UTF-8 w/o BOM编码的csv文件,并且该文件包含法语重音符号。
以下是打开和读取csv文件的代码:
csvfile = open(in_file, 'r', encoding='utf-8')
fieldnames = ("id","locale","message")
reader = csv.DictReader(csvfile,fieldnames,escapechar="\\")
for row in reader:
if row['id'] == id and row['locale'] == locale:
out = row['message'];
我将消息(out)作为Json返回。
jsonout = json.dumps(out, ensure_ascii=True)
return HttpResponse(jsonout,content_type="application/json; encoding=utf-8")
然而,当我预览结果时,我发现用重音符号的 e(法文)被替换为 \u00e9。
请问我做错了什么,应该怎么做才能让json输出显示正确的带重音符号的 e 呢?
谢谢。
print('\u00e9')
,它会打印出é,因此表示是正确的。如果你看到的是\u00e9
,那只是意味着你所看到的程序不理解这个重音符号。 - Tadhg McDonald-Jensen