Heim  >  Artikel  >  Datenbank  >  python mysql数据库 'latin

python mysql数据库 'latin

WBOY
WBOYOriginal
2016-06-07 15:52:451290Durchsuche

UnicodeEncodeError:'latin-1' codec can't encode character ... This is because MySQLdb normally tries to encode everythin to latin-1. This can be fixed by executing the following commands right after you've etablished the connection: db . s

"UnicodeEncodeError:'latin-1' codec can't encode character ..."

This is because MySQLdb normally tries to encode everythin to latin-1. This can be fixed by executing the following commands right after you've etablished the connection:

<code><span>db</span><span>.</span><span>set_character_set</span><span>(</span><span>'utf8'</span><span>)</span><span>
dbc</span><span>.</span><span>execute</span><span>(</span><span>'SET NAMES utf8;'</span><span>)</span><span> dbc</span><span>.</span><span>execute</span><span>(</span><span>'SET CHARACTER SET utf8;'</span><span>)</span><span>
dbc</span><span>.</span><span>execute</span><span>(</span><span>'SET character_set_connection=utf8;'</span><span>)</span></code>

"db" is the result of MySQLdb.connect, and "dbc" is the result of db.cursor().

意思就是MySQLdb正常情况下会尝试将所有的内容转为latin1字符集处理
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn