【问题标题】:Crash when using 'scharfes s' or 'ß' in python在 python 中使用“scharfes s”或“ß”时崩溃
【发布时间】:2018-04-20 11:43:24
【问题描述】:

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

【问题讨论】:

  • @DanielRoseman 好吧,我的意思是,那是行,这绝对是问题所在,因为一旦我删除 ß 整个代码就可以完美运行:)
  • @DanielRoseman 但我编辑了这个问题,所以你可以看到
  • Python2:对吗?
  • @GiacomoCatenazzi 是的

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


【解决方案1】:

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

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

您可以阅读更多关于它的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2016-08-22
    相关资源
    最近更新 更多