python 字串unicode型態問題
以下是兩個python的字串str_1 = "哈哈" str_2 = u"哈哈"
我針對這兩個去偵測他們是否為unicode型態用了isinstance()語法
str_1顯示是False str_2 顯示是Ture 我想這大家應該都能接受
今天我用pyquery的語法取網頁資料
from pyquery import PyQuery as pq
q = pq(url='http://www.cwb.gov.tw/V7/forecast/f_index.htm') #這是氣象局的網站
str = q('td').eq(0).text() #這行表示將網頁原始碼中第1個<td></td>內容存到str , 內容為: 基隆市
已用過 isinstance(str,unicode) 檢查結果為True, 但是print str會出現錯誤
想請問為什麼我print str_1(顯示亂碼)、print str_2(顯示 哈哈), 但print a卻沒有印出我存取的中文字,甚至連亂碼也沒印出反而報錯 : unicodeencodeerror 'cp950' codec can't encode character u'\xe5' in positon 0 :illegal multibyte sequence 。
python應該能辨別unicode型態才對,所以應該能成功印出中文字,但為什麼我print str卻失敗,想請問要怎麼樣才能把str印出來
[ 本帖最后由 dfgkopeee 于 2013-6-28 10:49 编辑 ]