【问题标题】:Python encoding wrong after ubuntu localisationubuntu 本地化后 Python 编码错误
【发布时间】:2017-02-23 08:22:13
【问题描述】:

在我将 ubuntu 本地化从 EN 更改为 RU 后,我遇到了导致 python 控制台(当我调试 Odoo 时)打印出一些类似这样的俄语文本的奇怪代码的问题:

\u0414\u0435\u0442\u0430\u043b\u0438\u043e\u0448\u0438\u0431\u043a\u0438: \u042d\u043b\u0435\u043c\u0435\u043d\u0442 '' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0445\u043e\u0445\u043e\u0434\04438\0432\0442\0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435

而不是这个:

Детали ошибки: Элемент '' не может находится в родительском виде

我能做些什么来避免这样的问题?

【问题讨论】:

  • 请分享您的代码。您是否在 .py 文件的顶部插入了正确的编码?

标签: python-2.7 openerp


【解决方案1】:

@APIuz 团队准备

#For python3

import json
import io
text = '\u0414\u0435\u0442\u0430\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438: \u042d\u043b\u0435\u043c\u0435\u043d\u0442 '' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435'

io.open("APIuz.txt", "w", encoding="utf-8").write(json.dumps(text, ensure_ascii=False))
print(open("APIuz.txt", "r").read())

#For python2

print(repr(u'\u0414\u0435\u0442\u0430\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438: \u042d\u043b\u0435\u043c\u0435\u043d\u0442 '' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435').decode('unicode-escape'))

#The code is just what you think

#>>> "Детали ошибки: Элемент  не может находится в родительском виде"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多