我花了几个小时的时间来寻找Unicode字符串的问题,这些字符串被分解为Python(2.7)隐藏的东西,我仍然不明白.首先,我尝试u".."在我的代码中使用一致的字符串,但这导致臭名昭着UnicodeEncodeError.我尝试过使用.encode('utf8'),但这也无济于事.最后,事实证明我不应该使用任何一个,它都可以自动完成.然而,我(这里我需要赞扬一位帮助过我的朋友)确实注意到一些奇怪的事情,同时我的头靠在墙上.sys.getdefaultencoding()返回ascii,同时sys.stdout.encoding返回UTF-8.1.在下面的代码中工作正常,没有任何修改sys和2.提出一个UnicodeEncodeError.如果我更改默认的系统编码 reload(sys).setdefaultencoding("utf8"),那么2.工作正常.我的问题是为什么两个编码变量首先是不同的,如何在这段简单的代码中设法使用错误的编码?请不要把我发送到Unicode HOWTO,我已经在很多问题中看到了这一点UnicodeEncodeError.
# -*- coding: utf-8 -*-
import sys
class Token:
def __init__(self, string, final=False):
self.value = string
self.final = final
def __str__(self):
return self.value
def __repr__(self):
return self.value
print(sys.getdefaultencoding())
print(sys.stdout.encoding)
# 1.
myString = "I need 20 000€."
tok = Token(myString)
print(tok)
reload(sys).setdefaultencoding("utf8")
# 2.
myString = u"I need 20 000€."
tok = Token(myString)
print(tok)
Run Code Online (Sandbox Code Playgroud) 如果之前已经提出过这个问题我会道歉.我还不清楚python3.2中的编码.
我正在阅读一个csv(用UTF-8编码,没有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'];
Run Code Online (Sandbox Code Playgroud)
我正在以Json的身份返回消息(out)
jsonout = json.dumps(out, ensure_ascii=True)
return HttpResponse(jsonout,content_type="application/json; encoding=utf-8")
Run Code Online (Sandbox Code Playgroud)
但是,当我预览结果时,我会将重音e(法语)替换为\ u00e9.
你能告诉我我做错了什么,我应该怎么做,以便json输出显示带有重音的正确e.
谢谢
我有以下格式的 json 数据,我试图将它存储在 JSON 文件中,但它以编码形式存储在 data.json 文件中
data= {"a": "{0}??????????"}
with open('data.json', 'w') as fp:
fp.write(json.dumps(data).encode("utf8"))
Run Code Online (Sandbox Code Playgroud)
数据.json
{"a": "{0}\u3055\u3093\u3067\u306f\u306a\u3044\u3067\u3059\u304b\uff1f"}
Run Code Online (Sandbox Code Playgroud)
我希望 data.json 采用这种格式
{"a": "{0}??????????"}
Run Code Online (Sandbox Code Playgroud)
我尝试对其进行编码,然后将其放入 json 文件中,但没有成功.. 谁能告诉我我在这里做错了什么以及正确的方法是什么?
我有一个带有unicode字符的json文件,我无法解析它.我已经尝试过Flash CS5,JSON库,我已经在http://json.parser.online.fr/中尝试了它,我总是得到"意外令牌 - eval失败"
对不起,语法确实存在问题,它来自客户端.
有人可以帮帮我吗?谢谢
json ×2
python ×2
encoding ×1
localization ×1
python-2.7 ×1
python-3.x ×1
stdout ×1
sys ×1
unicode ×1
utf ×1