Найти - Пользователи
Полная версия: mysqldb и unicode
Начало » Базы данных » mysqldb и unicode
1
niro
Начал постепенно осваивать mysql, решил что то наваять , начал с простого , создания и наполнения таблиц но возникла трабла , естественно с кодировками
#!/usr/local/bin/python
#-*-coding:utf-8-*-
import MySQLdb
<skip>
cur.execute("SET NAMES utf8;")
cur.execute("SET CHARACTER SET utf8;")
cur.execute("SET character_set_connection=utf8;")
<skip>
cur.execute("insert into categories (cid,name_e,name_r) values ('0','blog','Блог')")
<skip>
'Блог' у меня редактор сохраняет в юникод (anjuta). В итоге вылазют ошибка :
Traceback (most recent call last):
File “./crt.py”, line 25, in <module>
cur.execute(“insert into categories (cid,name_e,name_r) values ('0','blog','п&#9618;п&#9577;п&#9580;пЁ')”)
File “/usr/local/lib/python2.5/site-packages/MySQLdb/cursors.py”, line 146, in execute
query = query.encode(charset)
UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xd0 in position 63: ordinal not in range(128)

Как бороться не знаю . Нуна помощь . Спасибо!
slivlen
Попробуй при создании базы кодировку явно задать:
create database dbase charset=utf8;
slav0nic
а если u'Блог' ?
niro
не работают варианты
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB