gpt4 book ai didi

python - 修复由智能引号引起的 UnicodeEncodeError

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:11 26 4
gpt4 key购买 nike

我正在从事一个涉及自动生成文档(通过 latex )的项目。创建这些文档的人在 Windows 机器上工作(他以前使用 Microsoft word,但现在他在记事本中编辑它们)。无论如何,我注意到有时在他编辑文档后,由于 Python UnicodeEncodeError 导致整个生成过程失败。

我追查到问题出在他添加到文档中的引号和撇号上。我已经阅读了很多关于此错误的信息,但我不确定在 python 中解决此问题的最佳方法是什么。

这是一个 Django 应用程序,所以我尝试使用 django.utils.encode 中的 force_unicode、smart_str 等,但这没有用。我不知道为什么他添加的字符与我在不同操作系统上添加的字符不同。

有人可以吗

  1. 解释发生了什么
  2. 提出问题的最佳解决方案

最佳答案

不看一些代码就不可能解决这个问题。但根据我的经验,Django 中十分之九的 unicode 错误是由 __unicode__ 方法引起的,该方法实际上不返回 Unicode。

例如:

def __unicode__(self):
return 'foo %s' % self.bar

因为字符串是字节字符串,而不是 unicode,所以只要 bar 字段包含来自外部 ASCII 的文本,这就会严重中断。应该是:

   return u'foo %s' % self.bar

关于python - 修复由智能引号引起的 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com