Я пытаюсь вставить какое-то арабское слово в столбец arabic_word
моей базы данных hanswehr2
Maria DB с использованием драйвера MySQLdb.MySQLdb не может инициализировать набор символов utf-8 error
Я получаю latin-1 encode error
. Но после прочтения, я узнал, что драйвер MySQLdb по умолчанию был latin-1
, и мне пришлось явно установить utf-8
в качестве моей кодировки по выбору в функции mariadb.connect()
. Sauce.
Вся база данных установлена на utf-8.
Код:
def insert_into_db(arabic_word, definition):
try:
conn = mariadb.connect('localhost', 'root', 'crooked_hillary', 'hans_wehr', charset='utf-8', use_unicode=True)
conn.autocommit(True)
cur = conn.cursor()
cur.execute("INSERT INTO hanswehr2 (arabic_word , definition) VALUES (%s,%s)", (arabic_word, definition,))
except mariadb.Error, e:
print e
sys.exit(1)
Однако в настоящее время я получаю следующее ошибка:
/usr/bin/python2.7 /home/heisenberg/hans_wehr/main.py
Total lines 87672
(2019, "Can't initialize character set utf-8 (path: /usr/share/mysql/charsets/)")
Process finished with exit code 1
Я уточнял драйвер Python MySQL использовать символ UTF-8, однако, кажется, проигнорируйте это.
Любые материалы будут высоко оценены.
Как это возможно дублировать? Вопрос, на который вы ссылаетесь, находится в PHP – silberbaum
oopps, извините за это. Но вы действительно должны пытаться называть '' utf8', кажется, что это может помочь. здесь: http://stackoverflow.com/a/6203782/4421474 – Alex
'utf-8' (с дефис) не является допустимым именем набора символов. Использовать 'utf8' –