从我删除的一个网页中得到一个单词“Zápas”。问题是我的数据中最接近的版本看起来像:windows-1250 编码后的 Z\xe1pas。 如果没有 str(a),就会出现一些 ANSI 错误。 感谢您的帮助。
我的尝试:
def encode(text):
return text.encode('windows-1250')...
...
for cell in row.findAll(['td', 'th']):
cell=encode(cell.get_text().strip())
a.append(cell)
foo.write(str(a)+"\n")
最佳答案
很可能a
字符串实际上是一个unicode字符串。要将其写入字节流,您应该以指定的编码将其编码为字节字符串,在您的情况下为 windows-1250
,在 my.cnf 中为 utf-8
。只需在将结果发送到 foo.write()` 之前使用 a.encode(
foo.write(a.encode("utf-8"))
此外,我会在将数据发送到“外部”(到文件、远程目的地等)之前立即将 unicode
中的整个数据转换为字节字符串
关于python - 编码斯洛伐克语字母,如 : á š Č é,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32752008/