在 python 中使用 'scharfes s' 或 'ß' 时崩溃

Crash when using 'scharfes s' or 'ß' in python

之前我使用以下代码设法解决了 ASCII 与 UTF-8 编码的问题。

    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')`

或者有时这就足够了:

    html = html.decode("utf-8")

现在的不同之处在于,在我的一个正则表达式函数中,我直接在我的代码中使用“ß”(之前它全部在我的数据/变量中)。即使我用'ß'注释掉该部分,程序也会崩溃。

    SyntaxError: Non-ASCII character '\xc3' in file bla/bla/bla.py on line 75, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

以下行导致了问题:

    def adjust_city_name(name):
        matchesfound = re.search('((Stadt|Große Kreisstadt)\s)?(.*)', name, re.IGNORECASE)

有什么可能的方法可以解决这个问题?

完整追溯:

    Traceback (most recent call last):
     File "bla/bla/crwl.py", line 2, in <module>
    from linkParser import *
    File "bla/bla/linkParser.py", line 2, in <module>
    from helpFunctions import *
    File "bla/bla/helpFunctions.py", line 75
    SyntaxError: Non-ASCII character '\xc3' in file bla/bla/helpFunctions.py on line 75, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

您需要在文件顶部添加编码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

您可以阅读更多相关信息 here