簡體   English   中英

googleappengine和python中的口音轉換

[英]Accent conversion in googleappengine and python

我正在為移動應用程序中的某個類編寫語言測試器應用程序,但是轉換重音符號時會遇到問題,因此可以使用self.response.write()進行顯示。 這是帶有法國口音的示例

import webapp2

class MainHandler(webapp2.RequestHandler):
    def get(self):
        word = "médecin"
        self.response.write(word)

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

當我運行這個我得到

本地主機當前無法處理此請求。 500

如果我取出帶重音的字母並寫上“ mdecine”,它將在瀏覽器中顯示該單詞。 我有Googleappengine等。所有設置都沒有,這不是問題。

我在utf8,encoding等上找到的任何示例主要用於命令行Print,並且在這里不起作用。 我該如何解決?

在Python2中,如@ iron-fist所示,源文件的默認編碼為ascii 如果源文件包含非ASCII字符,即使在注釋中,Python也會引發SyntaxError

語法錯誤:第5行/home/user/path/to/main.py文件中的非ASCII字符'\\ xc3',但未聲明編碼; 有關詳細信息,請參見http://www.python.org/peps/pep-0263.html

有兩種解決方法:

  1. 您可以使用編碼cookie聲明文件的替代編碼,就像在文件頂部添加# - *- coding: utf- 8 -*-
  2. 您可以在Unicode字符串中使用非ASCII字符的轉義形式: word = u'm\\xe9decin'

根據我的經驗,選項(1)更易於使用。 在文檔中的Unicode HowTo中對此進行了討論,並且在Python2中對Unicode進行了一般性的討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM