如何用python中的俄语文本替换英语硬编码字符串?

如何用python中的俄语文本替换英语硬编码字符串?,python,utf-8,encode,osqa,Python,Utf 8,Encode,Osqa,我尝试将OSQA(django+python)本地化为俄语。我可以用locale文件夹翻译很多字符串。但在OSQA中,一些字符串是硬编码的(以简单文本的形式输入代码) 我试图简单地将英文文本替换为俄文,但出现了一个错误 例如: class WordpressAuthContext(ConsumerTemplateContext): mode = 'SMALLICON' type = 'SIMPLE_FORM' simple_form_context = {

我尝试将OSQA(django+python)本地化为俄语。我可以用locale文件夹翻译很多字符串。但在OSQA中,一些字符串是硬编码的(以简单文本的形式输入代码)

我试图简单地将英文文本替换为俄文,但出现了一个错误

例如:

class WordpressAuthContext(ConsumerTemplateContext):
    mode = 'SMALLICON'
    type = 'SIMPLE_FORM'
    simple_form_context = {
        'your_what': 'Wordpress blog name'
    }
    weight = 270
    human_name = 'Wordpress'
    icon = '/media/images/openid/wordpress.png'
在这段代码中,我需要替换俄文文本中的“Wordpress博客名”

我尝试用unicode
\uxxx
字符替换英文字符,但在网页上,我将在原始视图中看到这些字符

然后我尝试以下代码:

'your_what': 'Wordpress blog name'.encode('utf-8')
这也不是工作

我可以试试什么?

试试:

simple_form_context = {
    'your_what': u'whätévèr wéird chars you w@ñt to ûse'
}
我真的不知道django是否准备在整个框架中处理Unicode字符串,但值得一试


我认为它不准备处理字节字符串(比如用
.encode()
生成的字符串),所以忘了这一点。

谢谢你的回答,但它也不起作用。网页显示的带有u前缀的字符串,如\u0412\u0430\u0448\u0435\u0438\u043C\u044F…请检查代码第二部分中的注释:无法对str进行编码,因为它已编码数据。当您有一个unicode对象并希望将其存储在文件(.html)中时,您必须选择表示每个字符的方式:utf-8、iso-8859-1、latin-1。。。一旦选择了哪一个,就必须调用
encode('utf-8')
对unicode对象进行
编码。在您展示的示例中,您有一个
str
对象,而不是unicode。然后使用decode('utf-8')再次从str移动到unicode。