我已经在这个错误上敲了一段时间,我现在似乎无法在任何地方找到解决方案,即使有类似的问题.
这是我的代码:
f = codecs.open(path, "a", encoding="utf-8")
value = "Bitte überprüfen"
f.write(("\"%s\" = \"%s\";\n" % ("no_internet", value)).encode("utf-8"))
Run Code Online (Sandbox Code Playgroud)
而我得到的错误是:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 23: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
如果我说utf-8,为什么ascii?我真的很感激任何帮助.
尝试:
value = u"Bitte überprüfen"
Run Code Online (Sandbox Code Playgroud)
为了将值声明为unicode字符串和
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)
在文件的开头,为了声明你的python文件是用utf-8编码保存的.