将xml代码的一部分写入数据库
时遇到问题UnicodeDecodeError:'ascii'编解码器无法解码1679位的字节0xe4:序数不在范围内(128)
如何解决这个问题?
答案 0 :(得分:1)
您可能希望在将其写入数据库之前使用'utf8'对您的unicode字符串进行编码。
data.encode('utf8')
答案 1 :(得分:1)
您已经读过一些字节(来自文件,网络等),并且正在尝试将其写入您的数据库。您使用的数据库列使用文本类型(如char
,varchar
,text
)声明,而不是二进制类型(binary
,varbinary
, blob
)。因此某人(或某事)必须将字节转换为字符。
为此,使用编码(它是编码和解码的一对函数的组合,以及字符集哪些对编码有效,以及对解码有效的字节(或字节序列) - 这里我们使用 decode )。
我认为转换过程的默认编码是ascii
(也称为US-ASCII
或ISO-646),它只支持0到127之间的字节值,以及Unicode的前128个字符。
您的XML文件至少包含ASCII范围之外的一个字节。这意味着您应该执行以下操作之一:
ü
。)�xe4;
代替由于您既没有提供代码也没有提供其他信息,我无法提供更详细的建议。