[問題] 有關utf-8字串的問題

看板Python作者 (我是香民)時間14年前 (2011/10/28 16:57), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/2 (看更多)
假設我有一個檔案叫test.txt,內容只有一行字: 中文 然後我用如下的碼讀入(省略之前之後的各個動作) string = infile.readline().decode('utf-8') 這樣得到的變數跟以下我手動給初值有何不同? string = u'中文' 我用sunburnt把資料加入solr時兩者都可以加入 但只有後者得到的結果可以下中文關鍵字搜尋到 請問一下各位先進我應該如何修改呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.239.158

10/28 16:58, , 1F
最後的\n ?
10/28 16:58, 1F

10/28 17:06, , 2F
decode()出來跟u''出來的都是internal encoding的東西
10/28 17:06, 2F

10/28 17:07, , 3F
也就是所謂unicode type 其他encode()過或是''的
10/28 17:07, 3F

10/28 17:07, , 4F
都是str type 視同byte array 一個中文字在
10/28 17:07, 4F

10/28 17:07, , 5F
unicode type是一個字 在str type是3個byte
10/28 17:07, 5F

10/28 17:08, , 6F
至於一樓說的東西,在decode()後面加.strip()試試
10/28 17:08, 6F

10/28 21:07, , 7F
起先確認你的「中文」編碼真的是 utf-8 吧
10/28 21:07, 7F

10/28 22:34, , 8F
對了 如果你是用記事本存的txt 還有bom的問題
10/28 22:34, 8F

10/28 22:34, , 9F
建議用print repr(string)出來看一下
10/28 22:34, 9F
文章代碼(AID): #1Egcw68y (Python)
討論串 (同標題文章)
文章代碼(AID): #1Egcw68y (Python)