相关疑难解决方法(0)

为什么sys.getdefaultencoding()与sys.stdout.encoding不同?它如何破坏Unicode字符串?

我花了几个小时的时间来寻找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)

python stdout utf sys

8
推荐指数
1
解决办法
6131
查看次数

Python编码和json转储

如果之前已经提出过这个问题我会道歉.我还不清楚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.

谢谢

encoding python-3.x

5
推荐指数
1
解决办法
5551
查看次数

Python将日语单词存储到JSON文件中

我有以下格式的 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 文件中,但没有成功.. 谁能告诉我我在这里做错了什么以及正确的方法是什么?

python json localization python-2.7

5
推荐指数
1
解决办法
1563
查看次数

Json使用unicode字符进行解析

我有一个带有unicode字符的json文件,我无法解析它.我已经尝试过Flash CS5,JSON库,我已经在http://json.parser.online.fr/中尝试了它,我总是得到"意外令牌 - eval失败"

对不起,语法确实存在问题,它来自客户端.

有人可以帮帮我吗?谢谢

unicode json

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

json ×2

python ×2

encoding ×1

localization ×1

python-2.7 ×1

python-3.x ×1

stdout ×1

sys ×1

unicode ×1

utf ×1