python - 编码斯洛伐克语字母,如 : á š Č é

标签 python encoding diacritics

从我删除的一个网页中得到一个单词“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/

相关文章:

python - 如何获取列表中的索引

go - 递归数据结构解码在 Go Lang Protobuf 中给出错误 "cannot parse invalid wire-format data"

mysql - 如何设置 MySQL 以正确处理 unicode 变音符号?

ruby - 为什么在 Ruby 1.9 中两个具有相同字节和编码的字符串不相同?

jquery - MySQL 变音符号问题

javascript - 如何制作考虑重音字符的正则表达式?

python - cursor.fetchall() 只返回函数游标的默认值(不运行 fetch all in)

python - python读取csv文件时出现IO错误

python - DateOffset Pandas 减法

python - 对有限集中的符号列表进行编码的最紧凑方法是什么?