第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Python將UTF-8字符串寫入MySQL

使用Python將UTF-8字符串寫入MySQL

楊__羊羊 2019-12-03 15:58:07
我正在嘗試將用戶帳戶數(shù)據(jù)從Active Directory推送到我們的MySQL服務(wù)器。這可以完美地工作,但是以某種方式最終使字符串顯示變音符號和其他特殊字符的編碼版本。Active Directory使用以下示例格式返回字符串: M\xc3\xbcller這實際上是UTF-8編碼Müller,但是我不想寫入Müller數(shù)據(jù)庫M\xc3\xbcller。我嘗試使用此行轉(zhuǎn)換字符串,但結(jié)果導(dǎo)致數(shù)據(jù)庫中的字符串相同: tempEntry[1] = tempEntry[1].decode("utf-8")如果我print "M\xc3\xbcller".decode("utf-8")在python控制臺中運行,則輸出正確。有什么方法可以正確插入此字符串嗎?對于想要擁有這種確切格式的Web開發(fā)人員,我需要這種特定格式,但我不知道為什么他不能直接使用PHP轉(zhuǎn)換字符串。附加信息:我正在使用MySQLdb。表和列的編碼為utf8_general_ci
查看完整描述

3 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊

假設(shè)您正在使用MySQLdb,則在創(chuàng)建連接時需要傳遞use_unicode = True和charset =“ utf8”。


更新:如果我對測試表運行以下命令,我會得到-


>>> db = MySQLdb.connect(host="localhost", user='root', passwd='passwd', db='sandbox', use_unicode=True, charset="utf8")

>>> c = db.cursor()

>>> c.execute("INSERT INTO last_names VALUES(%s)", (u'M\xfcller', ))

1L

>>> c.execute("SELECT * FROM last_names")

1L

>>> print c.fetchall()

(('M\xc3\xbcller',),)

這是“正確的方法”,字符已正確存儲和檢索,您的朋友編寫php腳本只是在輸出時未正確處理編碼。


正如Rob所指出的那樣,use_unicode和charset的組合對于連接是很冗長的,但是即使對于標(biāo)準(zhǔn)庫之外的最有用的python庫,我也很自然地產(chǎn)生偏執(zhí),所以我嘗試明確地使bug易于發(fā)現(xiàn)庫是否發(fā)生了變化。


查看完整回答
反對 回復(fù) 2019-12-03
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊

import MySQLdb


# connect to the database

db = MySQLdb.connect("****", "****", "****", "****") #don't use charset here


# setup a cursor object using cursor() method

cursor = db.cursor()


cursor.execute("SET NAMES utf8mb4;") #or utf8 or any other charset you want to handle


cursor.execute("SET CHARACTER SET utf8mb4;") #same as above


cursor.execute("SET character_set_connection=utf8mb4;") #same as above


# run a SQL question

cursor.execute("****")


#and make sure the MySQL settings are correct, data too


查看完整回答
反對 回復(fù) 2019-12-03
  • 3 回答
  • 0 關(guān)注
  • 872 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號