我試圖抓住一個網站,其中存在unicode字符。我在很begining -*- coding: utf-8 -*-
說加上我用re.UNICODE
標誌尋找正則表達式,unicode模式
pattern = re.compile('(?:{}|{})'.format(regex, regex1), re.UNICODE)
然而,當我打印輸出我還是讓這些怪異字符像�
我該如何解決呢?謝謝!
我試圖抓住一個網站,其中存在unicode字符。我在很begining -*- coding: utf-8 -*-
說加上我用re.UNICODE
標誌尋找正則表達式,unicode模式
pattern = re.compile('(?:{}|{})'.format(regex, regex1), re.UNICODE)
然而,當我打印輸出我還是讓這些怪異字符像�
我該如何解決呢?謝謝!
這可能不是一個「答案」,但是你可以嘗試使用http://www.debuggex.com來調試你的正則表達式。
僅僅因爲它具有非拉丁字符的頁面並不意味着它使用unicode編碼(還有,哪個unicode編碼?utf-8?utf-16?)。
此外,re.UNICODE
可能不會做你認爲它的作用。從文檔:
根據Unicode字符屬性數據庫設置'\ w,\ W,\ b,\ B,\ d,\ D,\ s`和`\ S`。
所有這一切意味着這些特定的字符類更廣泛地定義,它對源文本沒有影響。
此外,coding definition,-*- coding: utf-8 -*-
僅指定您的源文件的編碼。
最後,如其中一個註釋所述, 可以是使用當前字體不支持的字符的結果。反過來,這可能是假定某種編碼,而文本以不同編碼編碼的結果。
謝謝,但我還在掙扎。我確定它是'utf-8' – nutship 2013-03-26 07:56:54
僅僅因爲你的字體不支持各自的Unicode字符,你可能會得到 字形。 – nwellnhof 2013-03-25 23:16:18
它做百分之百。 – nutship 2013-03-26 07:44:26
您必須首先解碼來自網站的UTF-8文本。例如,請參閱[此問題](http://stackoverflow.com/questions/10293234/why-wont-python-display-this-text-correctly-utf-8-decoding-issue)。 – nwellnhof 2013-03-27 00:48:08