我在尝试为我的观点生成测试时遇到了麻烦。我有一个视图,它消耗来自表单,某些字符的给定输入。这些字符被提交给DB,没有问题。
我所尝试的只是生成一个测试,以确保接受来自不同语言的不同角色。
我测试了这个:
Českýjazykneboličeština
此输入从HTML表单正确获取,并存储在DB中。当我尝试从测试中设置这个时,会发生一些奇怪的事情,并且视图会抛出错误,说
警告:字符串值不正确:'\ xC4 \ x8Cesk \ xC3 ...'代表第1行的“标题”列
我的代码简单如下:
str1 = "Český jazyk neboli čeština"
self.client.post(url, {"title": str1})
尝试所有组合:
str1 = u"..."
str1 = str1.encode('utf-8')
str1 = str1.decode('utf-8')
没有任何成功。
谁能告诉我我错过了什么?
提前谢谢
答案 0 :(得分:0)
首先:确保在脚本的开头包含了这个:
#-*- coding: utf-8 -*-
那就是告诉解释器这个文件的编码是utf-8
(确保它来自你的文本编辑器)
第二:而不是
str1 = "Český jazyk neboli čeština"
将str1声明为unicode,如下所示:
str1 = u"Český jazyk neboli čeština"
现在,我建议你如果要包含非ascii字符,请使用正确的unicode代码而不是字符来声明它们,以避免出现奇怪的编码问题。
str1 = u'\u010cesk\xfd jazyk neboli \u010de\u0161tina'
This is a useful page to check characters unicode code
希望这有帮助!