Python 使用 UTF-8 編碼)

來源:互聯網
上載者:User

原文出處:http://blog.chenlb.com/2010/01/python-use-utf-8.html

一般我喜歡用 utf-8 編碼,在 python 怎麼使用呢?

1、在 python 源碼檔案中用 utf-8 文字。一般會報錯,如下:

File "F:\workspace\psh\src\test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file F:\workspace\psh\src\test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

test.py 的內容:

 
  1. print "你好"  

如果要正常運行在 test.py 檔案前面加編碼注釋,如:

 
  1. #!/usr/bin/python2.6  
  2. # -*- coding: utf-8 -*-  
  3. print "你好"  

2、
python 對 url encode UTF-8 怎麼做呢?

windows 的命令列參數轉 utf-8 怎麼做呢?

代碼:

 
  1. # -*- coding: utf-8 -*-  
  2. import urllib  
  3. import sys  
  4.   
  5. if __name__ == '__main__':  
  6.     if len(sys.argv) > 1:  
  7.         str = sys.argv[1]  
  8.         str = unicode(str, 'gbk')  
  9.     else:  
  10.         str = "中文"  
  11.   
  12.     print str  
  13.     params = {}  
  14.     params['name'] = str.encode("UTF-8")  
  15.   
  16.     print urllib.urlencode(params)  

python 內部是用 unicode 吧。

由於 windows 的命令列輸入的是 GBK 編碼的,可以要先轉為 unicode(第三8行)。

要轉 url encode 時,先把 str 轉為 utf-8。

預設的輸出結果:

中文
name=%E4%B8%AD%E6%96%87

寫 python 指令碼來做寫小事情方便,比如要取些 solr 的資料,solr 的 url 編碼是 utf-8 的。

參考:http://evanjones.ca/python-utf8.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.