Python解決插入資料庫亂碼問題

2021-09-30 23:38:18 字數 1948 閱讀 3577

從**上獲取的資訊要儲存在本地

資料庫中,但是儲存的過程中資料庫的資訊都變成了亂碼,怎麼解決呢?客官聽我娓娓道來。

首先,保證以下四項的編碼都是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('h1').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('h2').get_text()

rand = chapter_soup.find('div',class_ = 'row-fluid').find('h2').find_next_sibling('h2').get_text()

face = chapter_soup.find('div',class_ = 'span4 pmemoji').find('h1').get_text()

conclusion = chapter_soup.find('h1',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')+'\')')

完成,插入的資料都是中文了,看效果圖:

Mysql 解決插入資料庫亂碼問題

從 上獲取的資訊要儲存在本地資料庫中,但是儲存的過程中資料庫的資訊都變成了亂碼,怎麼解決呢?首先,保證以下四項的編碼都是utf 8 1.2.資料庫連線 3.表的字符集格式 4.插入的資料格式 每步的操作如下 1.保證 的格式是utf 8,在 最前面加上這句話 1 coding utf8 2 首先用於...

中文插入資料庫亂碼

1.在資料插入的 sql語句中加 nstring strsql insert into article body articletitle,articlecontent,articlesummary,articleistop,articleallowreply,articleishide value...

解決插入到MySql資料庫中亂碼問題

大三最後一學期的課程設計了!今天幫同學改錯,系統需要向資料庫裡插入中文字元,我把中問字元和資料庫的編碼都改成utf 8 可是執行insert的sql語句報錯,說是亂碼!找了很久的問題,試了很多其它方法轉換字元格式編碼什麼的!最後在 上看到一句話了 將原來的 jdbc mysql localhost ...