3

通常の文字列を使用して作成した単純な Google App Engine アプリがあります。Unicode を扱えるようにしたいと思っています。これに問題はありますか?現在、ライブ データベースに既にあるすべての文字列について考えています。(動揺させたくない実際のユーザーから。)

4

3 に答える 3

2

Alexander Kojevnikovは次のように述べています。「データストアは内部的にすべての文字列を Unicode で保持しています。」

つまり、アプリケーションはすでにどこでも Unicode を使用しています。賢明なAPIを提供してくれたGoogleの人々に感謝します。これ以上の作業は必要ありません。

于 2008-10-28T22:53:14.763 に答える
1

データストアは内部的にすべての文字列を unicode で保持します。

于 2008-10-28T22:43:27.687 に答える
1

db.TextProperty() に保存するときは、次のように db.Text() を使用する必要があります。

instance.xml = db.Text(xml_string, encoding="utf_8")

文字列に BOM がない場合は、正しいエンコーディングを指定します。XML ストリームから予期しない Unicode データを取得した場合と同様です。

これは、Amazon.com の製品 API を使用しているときに発生しました。

また、Google の urlfetch には、そのストリームを扱うユニコードの問題がありました。そのため、問題を修正するために、ストリームのように機能する urllib.urlopen() のリターンで parseString() の代わりに minidom の parse() 関数を実行することになりました:

response = urllib.urlopen(url)
xml = minidom.parse(response)
于 2009-10-04T03:53:15.263 に答える