当查询是unicode时,SQL Server原始查询在Django中返回空

时间:2013-11-21 23:36:20

标签: django python-unicode

我有一个Ubuntu 13.10服务器,Django 1.5应用程序和Sql Server 2008,我尝试执行一个原始查询,如果它只是没有unicode就可以正常工作。

样本模型:

class SomeRecords(models.Model):
    EntryName = models.CharField(max_length=20)

表格中的一些示例记录:(在EntryName字段中)

['elma', 'armut', 'ıspanak']

elma和armut不是unicode,因为它没有特殊字符,但在ıspanak,有“ı”字母,所以它是unicode。

返回数据:( elma query)

# -*- coding:utf-8 -*-
from django.db import connection, transaction
cursor = connection.cursor()
sql = u"select entryname from somerecords where entryname='elma'"
cursor.execute(sql)
rows=cursor.fetchall()
print len(rows)

这将返回空:(ıspanak查询)

# -*- coding:utf-8 -*-
from django.db import connection, transaction
cursor = connection.cursor()
sql = u"select entryname from somerecords where entryname='ıspanak'"
cursor.execute(sql)
rows=cursor.fetchall()
print len(rows)

那么,为什么第二个返回空?

0 个答案:

没有答案