Rumah  >  Artikel  >  pangkalan data  >  python mysql数据库 'latin

python mysql数据库 'latin

WBOY
WBOYasal
2016-06-07 15:52:451286semak imbas

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字符集处理
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn