Heim  >  Artikel  >  Backend-Entwicklung  >  Lösen Sie das Problem verstümmelter chinesischer Zeichen beim Abfragen von MySQL in Python2.7

Lösen Sie das Problem verstümmelter chinesischer Zeichen beim Abfragen von MySQL in Python2.7

WBOY
WBOYOriginal
2016-12-05 13:27:181609Durchsuche

Frage:

Wenn Python2.7 chinesische Daten in MySQL abfragt oder einfügt, werden verstümmelte chinesische Zeichen angezeigt

---
Mögliche Situationen:

1. Für die MySQL-Datenbankelemente ist keine Kodierung festgelegt, die Standardeinstellung ist „Latin“
2. Bei Verwendung von MySQL.connect ist die Standardkodierung nicht festgelegt
3. Die Kodierung von Python ist nicht festgelegt, Python2.7 ist standardmäßig auf „ascii“
eingestellt 4. Keine Dekodierung
---

Lösung:

1. Stellen Sie die Codierung von MySQL ein

Ubuntu führt die folgende Anweisung aus:

** sudo vim /etc/mysql/my.cnf **

Dann fügen Sie die Aussage ein:

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci 

Vim beenden
Starten Sie MySQL neu:

** sudo service mysql restart **

2. Legen Sie die Verbindungskodierungsparameter von MySQLdb im Code fest

db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8') <code>db=MySQLdb.connect(user='...',db='...',passwd='...',host='...',charset='utf8')<br>

3. Legen Sie die Python-Standardkodierung im Code fest

# -*-coding:utf-8 -*-
import sys 
reload(sys)
sys.setdefaultencoding('utf-8')

4. Denken Sie daran,
zu dekodieren

t = cursor.fetchall()
s = t[0][1].decode('utf-8')

vorbei

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