Maison  >  Article  >  base de données  >  python mysql数据库 'latin

python mysql数据库 'latin

WBOY
WBOYoriginal
2016-06-07 15:52:451290parcourir

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字符集处理
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn