MySQLdb 드라이버를 사용하여 hanswehr2
데이터베이스 Maria DB의 arabic_word
열에 아랍어 단어를 삽입하려고합니다.MySQLdb가 문자 집합 utf-8 오류를 초기화 할 수 없습니다.
나는 latin-1 encode error
을 얻고있었습니다. 그러나 주위를 읽은 후 MySQLdb 드라이버가 latin-1
으로 기본값으로 설정되어 있고 함수에서 명시 적으로 utf-8
을 내 charset으로 설정해야한다는 것을 알았습니다. 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)
지금 나는 다음과 같은 얻을 오류 : 나는 UTF-8 문자를 사용하는 파이썬 MySQL의 드라이버를 지정
/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
그러나이 보인다 이것을 무시하십시오.
모든 입력 사항을 높이 평가할 것입니다.
어떻게 복제 할 수 있습니까? 참조한 질문은 PHP – silberbaum
에 있습니다. 죄송합니다. 하지만 실제로는''utf8 '을 호출하면 도움이 될 것 같습니다. 여기를 확인하십시오 : http://stackoverflow.com/a/6203782/4421474 – Alex
'utf-8' (하이픈 포함)은 유효한 문자 집합 이름이 아닙니다. 'utf8' 사용 –