2015-05-08 3 views
0

Так что я пытаюсь запустить простой запрос в python с помощью sqlite, чтобы попробовать его. Я получаю результат запроса правильно, но я получаю дополнительное «u» в начале каждого текстового поля, и я не уверен, почему. Вот код:Python sqlite3 дополнительный символ в результатах запроса

import sqlite3 

db = sqlite3.connect(':memory:') 
c = db.cursor() 

c.execute("create table Students (ID INTEGER Primary key AUTOINCREMENT, FN text, LN text);") 

c.execute("INSERT into Students (FN,LN) Values ('FirstName','LastName');") 

c.execute("Select * from Students") 

for i in c: 
    print(i) 

и вот результат я получаю:

(1, u'FirstName', u'LastName') 

Process finished with exit code 0 

любой ключ, почему это происходит?

+1

'u'FirstName' является представление Юникода строки в Python 2.7. Все отлично. –

+0

Это работало без ошибок в Python 3.4.3 – learningloop

ответ

0

В исходном коде Python литералы в формате Unicode записываются как строки с префиксом u или U.

Если вы не хотите, чтобы ваше слово стало юникода вы можете кодировать unicode-escape:

>>> s.encode('unicode-escape') 
'FirstName' 
Смежные вопросы