Home  >  Article  >  Database  >  python mysql数据库 'latin

python mysql数据库 'latin

WBOY
WBOYOriginal
2016-06-07 15:52:451286browse

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字符集处理
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn