2009-04-08 10 views
0

the script from this answerにいくつかの変更を加えました。私はユニコードに問題があります。いくつかの質問は貧弱に書かれてしまいます。htmlエンティティをシンボルに変換するには?

いくつかの答えと応答がのように見える終わる:

Yeah.. I know.. I’m a simpleton.. So what’s a Singleton? (2)

にはどうすれば’が右の文字に変換することができますか?

注:私はフランス語のウィンドウでPython 2.6を使用しています。

>>> sys.getdefaultencoding() 
'ascii' 
>>> sys.getfilesystemencoding() 
'mbcs' 

EDIT1:ライアンGinstromのポストに基づいて、私は、出力の一部を修正することができましたが、私はPythonのユニコードで問題が発生しています。アイドル/ Pythonシェルで

うん..私は知っている...イア€™mの阿呆..だから、 what’sのシングルトン?標準出力

をリダイレクトすると、うん..私はシングルトン何だから、 .. ..私は阿呆だ知っているテキストファイルで

、?

どうすれば修正できますか?


EDIT2:私はジャレットハーディのソリューションを試してみましたが、それは何もしませんでした。 私のsite-packagesフォルダがでているので、私は、のpython 2.6を使用して、Windows上で午前:

C:\ Python26 \ Libの\サイト - パッケージ

何siteconfig.pyファイルがありませんでしたので、私は1つを作成し、Jarret Hardieが提供するコードを貼り付け、Pythonインタプリタを起動しましたが、読み込まれていないようです。

sys.getdefaultencoding() 'ASCII'

私は、site.pyファイルがある気づい:

C:\ Python26は\ Lib \ site.py

Iは、UTF-8エンコーディングを設定する機能

def setencoding(): 
    """Set the string encoding used by the Unicode implementation. The 
    default is 'ascii', but if you're willing to experiment, you can 
    change this.""" 
    encoding = "ascii" # Default value set by _PyUnicode_Init() 
    if 0: 
     # Enable to support locale aware default string encodings. 
     import locale 
     loc = locale.getdefaultlocale() 
     if loc[1]: 
      encoding = loc[1] 
    if 0: 
     # Enable to switch off string to Unicode coercion and implicit 
     # Unicode to string conversion. 
     encoding = "undefined" 
    if encoding != "ascii": 
     # On Non-Unicode builds this will raise an AttributeError... 
     sys.setdefaultencoding(encoding) # Needs Python Unicode build ! 

でエンコーディングを変更することを試みました。それは働いた(もちろん、Pythonの再起動後)。

>>> sys.getdefaultencoding() 
'utf-8' 

悲しいことは、私のプログラムでキャラクターを修正しなかったことです。 :(

答えて

1

あなたは、Unicode文字にHTML/XMLエンティティを変換することができるはずSOでこの答えをチェックアウト:。

Decoding HTML Entities With Python

基本的にはこのような何かしたい:

from BeautifulSoup import BeautifulStoneSoup 

soup = BeautifulStoneSoup(urllib2.urlopen(URL), 
          convertEntities=BeautifulStoneSoup.ALL_ENTITIES) 
0

をsiteconfig.pyのデフォルトのエンコーディングを変更しても動作しますか?

サイトパッケージファイル(OS Xシステムでは/Library/Python/2.5/site-packages/)は、siteconfig.pyというファイルを作成します。このファイルのPUTで:siteconfig.pyが処理されると

import sys 
sys.setdefaultencoding('utf-8') 

setdefaultencoding方法は、SYSモジュールから削除されるので、インタプリタの起動時にはPythonがそれを読んでするように、あなたは、サイトのパッケージに入れなければなりません。

関連する問題