亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python sqlobject(mysql)中文亂碼解決方法

 更新時(shí)間:2008年11月14日 22:51:59   作者:  
在使用python寫項(xiàng)目的時(shí)候,用到了sqlobject庫(kù)函數(shù)connectionForURI連接mysql,但是遇到了中文顯示亂碼的問題,在添加記錄的時(shí)候還拋出異常
UnicodeEncodeError: 'latin-1' codec can't encode characters in position;
找了一天終于搞明白了,默認(rèn)情況下,mysql連接的編碼是latin-1,你需要指定使用什么編碼方式:
connectionForURI(mysql://user:password@localhost:3306/eflow?use_unicode=1&charset=utf8)

Python mysql 中文亂碼 的解決方法,有需要的朋友不妨看看。
 
先來(lái)看一段代碼:

復(fù)制代碼 代碼如下:

import MySQLdb
  db_user = "tiger"
  db_pw = "tiger"
  db = MySQLdb.connect(host="localhost", user=db_user, passwd=db_pw ,db="finaltldw",charset="gb2312")
  c = db.cursor()
  c.execute("""select id, name from NODES""")
  i=0;
  for id, name in c.fetchall():
   print "%2d %s" % (id, name)
   i=i+1
   if i==100:
   break

返回結(jié)果:
  1 TOP
  2 教育
  3 機(jī)構(gòu)
  4 人
  5 地區(qū)
  6 單位
  7 科學(xué)研究
  8 實(shí)驗(yàn)室
  9 類型
    
  如果編碼是UTF-8
  轉(zhuǎn)載一個(gè)解決方案: 其中的use db
  
  Python操作MySQL以及中文亂碼的問題
  Python操作MySQL需要安裝Python-MySQL
  可以從網(wǎng)上搜索一下,和一般的Python包一樣安裝
  
  安裝好之后,模塊名字叫做MySQLdb ,在Window和Linux環(huán)境下都可以使用,試驗(yàn)了一下挺好用,
  不過又發(fā)現(xiàn)了煩人的亂麻問題,最后用了幾個(gè)辦法,解決了!
  
  我用了下面幾個(gè)措施,保證MySQL的輸出沒有亂麻:
   1 Python文件設(shè)置編碼 utf-8 (文件前面加上 #encoding=utf-8)
   2 MySQL數(shù)據(jù)庫(kù)charset=utf-8
   3 Python連接MySQL是加上參數(shù) charset=utf8
   4 設(shè)置Python的默認(rèn)編碼為 utf-8 (sys.setdefaultencoding(utf-8)
  mysql_test.py 

復(fù)制代碼 代碼如下:

#encoding=utf-8
  import sys
  import MySQLdb
  
  reload(sys)
  sys.setdefaultencoding('utf-8')
  
  db=MySQLdb.connect(user='root',charset='utf8')
  cur=db.cursor()
  cur.execute('use mydb')
  cur.execute('select * from mytb limit 100')
  
  f=file("/home/user/work/tem.txt",'w')
  
  for i in cur.fetchall():
   f.write(str(i))
   f.write(" ")
  
  f.close()
  cur.close()

上面是linux上的腳本,windows下運(yùn)行正常!
  
  注:MySQL的配置文件設(shè)置也必須配置成utf8
  
  設(shè)置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都設(shè)置默認(rèn)的字符集(通常在/etc/mysql/my.cnf):
  [client]
  default-character-set = utf8
  [mysqld]
  default-character-set = utf8

相關(guān)文章

  • Django中使用MySQL5.5的教程

    Django中使用MySQL5.5的教程

    這篇文章主要介紹了Django中使用MySQL5.5的教程,本文圖文實(shí)例詳解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Django和Ueditor自定義存儲(chǔ)上傳文件的文件名

    Django和Ueditor自定義存儲(chǔ)上傳文件的文件名

    這篇文章主要介紹了Django和Ueditor自定義存儲(chǔ)上傳文件的文件名,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • AI與Python人工智能遺傳算法

    AI與Python人工智能遺傳算法

    這篇文章主要為大家介紹了AI與Python人工智能遺傳算法的詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 使用PyTorch常見4個(gè)錯(cuò)誤解決示例詳解

    使用PyTorch常見4個(gè)錯(cuò)誤解決示例詳解

    這篇文章主要為大家介紹了使用PyTorch常見4個(gè)錯(cuò)誤解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 一文搞懂Python中is和==的區(qū)別

    一文搞懂Python中is和==的區(qū)別

    is和==都是對(duì)對(duì)象進(jìn)行比較判斷作用的,但對(duì)對(duì)象比較判斷的內(nèi)容并不相同,下面來(lái)看看具體區(qū)別在哪?對(duì)Python中is和==的區(qū)別感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Django Rest framework之權(quán)限的實(shí)現(xiàn)示例

    Django Rest framework之權(quán)限的實(shí)現(xiàn)示例

    這篇文章主要介紹了Django Rest framework之權(quán)限的實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-12-12
  • 基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼

    基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼

    “幸運(yùn)牛牛套圈圈”套住歡樂,圈住幸福,等你來(lái)挑戰(zhàn)!這篇文章小編主要為大家介紹一款基于Python實(shí)現(xiàn)牛牛套圈小游戲,感興趣的小伙伴可以了解一下
    2023-02-02
  • python爬蟲scrapy框架之增量式爬蟲的示例代碼

    python爬蟲scrapy框架之增量式爬蟲的示例代碼

    這篇文章主要介紹了python爬蟲scrapy框架之增量式爬蟲的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python中的迭代器詳解

    Python中的迭代器詳解

    這篇文章主要介紹迭代器,看完文章你可以了解到什么是可迭代對(duì)象、啥是迭代器、如何自定義迭代器、使用迭代器的優(yōu)勢(shì),文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-08-08
  • 利用Python為iOS10生成圖標(biāo)和截屏

    利用Python為iOS10生成圖標(biāo)和截屏

    這篇文章主要為大家詳細(xì)介紹了利用Python為iOS10生成圖標(biāo)和截屏的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評(píng)論