如何用python中的俄语文本替换英语硬编码字符串?
我尝试将OSQA(django+python)本地化为俄语。我可以用locale文件夹翻译很多字符串。但在OSQA中,一些字符串是硬编码的(以简单文本的形式输入代码) 我试图简单地将英文文本替换为俄文,但出现了一个错误 例如:如何用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 = {
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。