您好,登錄后才能下訂單哦!
不懂解決python向數據庫insert亂碼的方法?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。
python向數據庫中insert數據出現亂碼解決方法:
保證以下四項的編碼都是utf-8:
1. 代碼
2. 數據庫連接
3. 表的字符集格式
4. 插入的數據格式
每步的操作如下:
1. 保證代碼的格式是utf-8,在代碼最前面加上這句話
# -*- coding:utf8 -*- #首先用于確定編碼,加上這句
2. 保證數據庫連接格式是utf-8,這么寫
conn=MySQLdb.connect(host='localhost',user='root',passwd='****',db='kfxx',port=3306,charset='utf8') cur=conn.cursor()
3. 保證表的字符集格式是utf-8,在建表的時候就能設置
4. 保證插入的數據格式是utf-8,分為保證讀取的頁面格式是utf-8和字符串格式也是utf-8
#解決亂碼問題 html_1 = urllib2.urlopen(cityURL,timeout=120).read() mychar = chardet.detect(html_1) bianma = mychar['encoding'] if bianma == 'utf-8' or bianma == 'UTF-8': html = html_1 else : html = html_1.decode('gb2312','ignore').encode('utf-8')
chapter_soup = BeautifulSoup(html) city = chapter_soup.find('div',class_ = 'row-fluid').find('h2').get_text() province = chapter_soup.find('a',class_ = 'province').get_text() pmNum = chapter_soup.find('div',class_ = 'row-fluid').find('span').get_text() suggest = chapter_soup.find('div',class_ = 'row-fluid').find('h3').get_text() rand = chapter_soup.find('div',class_ = 'row-fluid').find('h3').find_next_sibling('h3').get_text() face = chapter_soup.find('div',class_ = 'span4 pmemoji').find('h2').get_text() conclusion = chapter_soup.find('h2',class_ = 'review').get_text() print city.encode('utf-8') cur.execute('insert into t_pm values(\''+city.encode('utf-8') +'\',\''+province.encode('utf-8') +'\',\''+pmNum.encode('utf-8') +'\',\''+suggest.encode('utf-8') +'\',\''+rand.encode('utf-8') +'\',\''+conclusion.encode('utf-8')+'\')')
感謝你能夠認真閱讀完這篇文章,希望小編分享解決python向數據庫insert亂碼的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。