2013-03-15 8 views
6

4.1.4からアップグレードされたPlone 4.2.5、default_languageはzh-cn、default_charsetはutf-8(portal_properties/site_properties)です。ploneサイトの名前を変更したときのUnicodeDecodeError

私は、IPでのルートページにPloneサイトの名前の名前を変更しよう:8080 /、サイトのエラーが表示されます。私はいくつかのフォルダをインポートしようとしたとき

An error was encountered while publishing this resource. 
Error Type: UnicodeDecodeError 
Error Value: ('ascii', '\xe8\xa2\x81\xe4\xba\x88\xe6\xb9\x98', 0, 1, 'ordinal not in range(128)') 

Traceback (innermost last): 
    Module ZPublisher.Publish, line 126, in publish 
    Module ZPublisher.mapply, line 77, in mapply 
    Module ZPublisher.Publish, line 46, in call_object 
    Module OFS.CopySupport, line 333, in manage_renameObjects 
    Module OFS.CopySupport, line 369, in manage_renameObject 
    Module zope.event, line 31, in notify 
    Module zope.component.event, line 24, in dispatch 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module zope.component.event, line 32, in objectEventNotify 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module Products.CMFCore.CMFCatalogAware, line 271, in handleContentishEvent 
    Module Products.Archetypes.CatalogMultiplex, line 49, in unindexObject 
    Module Products.CMFPlone.CatalogTool, line 393, in uncatalog_object 
    Module Products.ZCatalog.ZCatalog, line 508, in uncatalog_object 
    Module Products.ZCatalog.Catalog, line 369, in uncatalogObject 
    Module Products.PluginIndexes.common.UnIndex, line 286, in unindex_object 
    Module Products.PluginIndexes.common.UnIndex, line 157, in removeForwardIndexEntry 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 0: ordinal not in range(128) 

UnicodeDecodeError関連の問題は、これまでに発生していました新しく作成されたPloneサイト。

別のPloneサイトの名前を正常に変更しました。私はそれらの違いが何であるかは分かりません。それらを効果的に破壊

+0

コンソールから完全なトレースバックを取得して質問に貼り付けることができれば、それも参考になります。 –

答えて

5

いくつかの点であなたのサイト、カタログインデックスにインデックス付けUnicodeコンテンツ、:(。これは、古いPloneのバグが原因であったかもしれない、または何かアドオンまたはカスタムコードが間違っていた。

これを回避するには、デフォルトのPythonエンコーディングをUTF-8に設定して完全再インデックスを実行することができます。以下は、プロダクションサイトの推奨手順ではありません。

Python site-packagesディレクトリに、sitecustomize.pyという名前のファイルを追加します。内容は

です
import sys 

sys.setdefaultencoding('utf8') 

ploneサイトを再起動して、名前の変更を試みるか、完全なカタログの再インデックスを先に実行してください。

を忘れずにsitecustomize.pyファイルを再度削除してください。 Pythonでデフォルトのエンコーディングを設定するのは、将来の問題を隠すだけです。

+0

私はサイトのタイトルを変更しないことを意味します。私は同じZMIの下に2つのploneサイトを持っています。今はsiteAが悪いので、siteBを作成し、siteAからsiteBにインポートしました。ユーザーを混乱させないために、siteAの名前をsiteAbackupに変更し、siteBの名前をsiteAに変更しようとします。 (私はちょうど場合のsiteAのバックアップが必要です) – Hugo

+0

あなたがしようとしたものの完全なトレースバックと詳細な説明を含めてください。 Ploneサイトの名前を変更するのはちょっと難解で複雑です。代わりに新しいインスタンスを指すように調整できる、サイトの前にプロキシサーバーがありますか? –

+0

完全なトレースバックを追加しました。プロキシサーバーがありません。 – Hugo

関連する問題