Привет всем.
Пишу на Python под freebsd. Стокнулся с проблемой кодирования (а точнее перекодирования) вывода из БД. Суть та, что из БД данные выбираются, но отображаются как ?????????. По началу думал, что в терминале кодировка тупая, но оказалось что при записи в файл та же проблема (пишется именно 3F символ). Как сменить кодировку?
гуглил, не нашел, толи я гуглить не умею, толи на гугле меня забанить успели.
Заранее благодарен за ответ.
Нашел примеры, что должно помочь:
#!/usr/bin/python
# -*- coding: latin-1 -*-
import os, sys
...
#!/usr/local/bin/python
# coding: latin-1
import os, sys
...
Сделал так:
# cat test.py
#!/usr/bin/env python
# coding: koi8-r
print "Привет, мир!"
Вопрос решился чтением мануала. Решение получил такое:
#!/usr/bin/env python
# -*- coding: koi8-r -*-
import MySQLdb
local = MySQLdb.connect (host = "localhost", user = "root", passwd = "root_passwd", db = "mydb", charset = "koi8r", use_unicode = False)
local_cursor = local.cursor (MySQLdb.cursors.DictCursor)
local_cursor.execute ("SELECT * FROM my_table")
result_set_local = local_cursor.fetchall ()
for local_row in result_set_local:
print str(local_row['russian'])
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)