0

アプリケーションを Jython 2.2.1 から Jython 2.5.2 に確実に移行しているため、プロジェクト内のすべての py スクリプトを utf-8 にエンコードしています。そのため、すべての py ファイル ( #encoding=utf-8) の最初の行に「マジック コメント」を追加し、Eclipse でアプリケーションをデバッグして、すべてが問題ないかどうかのテストを開始しました。

この問題は、文字列 を含むスクリプトで発生します。straßeこれは、自動的に に変換されるためstraßeです。

この変更が Pydev によって引き起こされたのか、それとも utf-8 がこの種の文字をカバーしていないために起こったのかは疑問です。まだ検出していない他の「奇妙な」文字列でこの問題を自動的に回避するにはどうすればよいですか?

4

2 に答える 2

0

.py ファイルが UTF-8 エンコーディングを使用していることは確かですか? WebBrowser(テキストとして)で開いてみて、さまざまなエンコーディングを確認してください。2バイト(おそらくUTF-8)でエンコードされstraßeているように見えますが、実際にUTF-8であることを確認してください。ß

Project/Properties の Eclipse 設定もチェックインします。「テキスト ファイル エンコーディング」設定のリソース パネルがあります (私は Java プロジェクトにのみ Eclipse を使用しており、Pydev がこの設定を使用しているかどうかはわかりません)。

このようなコードを PyDev で試して、結果ファイルに UTF-8 テキストが含まれているかどうかを確認します。

# -*- coding: utf8 -*-

import codecs

f = codecs.open('strasse.txt', 'wb', 'UTF-8')
f.write('straße'.decode('UTF-8'))
f.close()
于 2013-02-27T09:35:03.057 に答える