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

时间:2018-04-20 11:43:25

标签: python encoding utf-8 non-ascii-characters

以前我设法使用以下代码解决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

1 个答案:

答案 0 :(得分:3)

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

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

您可以详细了解here