Форум сайта python.su
Привет всем!
Подскажите, как настроить кодировку
при выводе результатов запроса???
кодировка файла utf-8
пробовал указывать кодировку при MySQLdb.connect()
пробовал посылкать запрос в базу SET NAMES utf8
и всё сразу!
в чем дело? помогите!
Офлайн
А в чем у вас проблема?
Офлайн
вот что мне приходит:
1 юпр
2 лсгшйю
5 йхмн
3 ондхсл
4 едю
6 цняреопххлярбн
8 мнбнярх
9 ютхью
10 юбрн
11 ймхцх
#!/usr/bin/env python
#-*-coding:utf-8-*-
import MySQLdb
import string
db_host = 'xxx'
db_user = 'xxx'
db_pass = 'xxx'
db_name = 'xxx'
db_char = 'ascii'
db = MySQLdb.connect(host=db_host, user=db_user, passwd=db_pass, db=db_name)
cursor = db.cursor()
#cursor.execute('SET NAMES koi8r');
#cursor.execute('SET character_set_client="ascii"');
#cursor.execute('SET character_set_results="ascii"');
#cursor.execute('SET collation_connection="ascii"');
cursor.execute("SELECT `section_id`, `section_name` FROM `gloss`")
numrows = int(cursor.rowcount)
data = cursor.fetchall()
for rec in data:
section_id, section_name = rec
print section_id, section_name
db.close()
Офлайн
Присоединиюсь к вопросу.
Думаю все согласятся, что utf8 наиболее правильная кодировка.
Как можно не наступать каждый раз на грабли с кодировкой?
ubuntu 10.10. Поставил mysql. Кроме пароля рута оно вроде ничего при установке не спрашивает.
Так вот какие параметры нужно поменять сразу в mysql, чтобы все было в utf8, какие параметры использовать при создании базы-таблицы чтобы было utf8, какие параметры использовать в mysqldb чтобы было utf8, как делать правильно в питоне cursor.execute('instert into table …%s' %value) всегда utf8.
Офлайн
Попробуйте в my.cnf добавить:
[client]
default-character-set = utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='set collation_connection = utf8_unicode_ci;'
Отредактировано (Апрель 27, 2011 19:45:05)
Офлайн