Python:在一个地方设置编码来处理unicode和unicode字符串

2024-04-25 02:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个使用各种python组件的应用程序——TurboGears、SQLAlchemy、MySQL(数据库)、与不同第三方api的集成。 Python 2.7版

基本上不同系统之间的数据流:

  • 流入:来自连接到外部系统的api和我们自己的系统 应用程序界面。数据是纯字符串的混合(可能有 非ASCII字符)和Unicode字符串。在
  • 流出:存储在数据库中的数据在应用程序上呈现 用户界面。在

在这个工作流程中,我们自然会从各种数据结构中存储和引用数据。字典、列表等。为了使我们的应用程序符合I18N,我们正在拧紧代码中的螺丝钉,以确保我们在所有地方工作和引用Unicode(UTF8)字符串,以便进行字符串比较和数据检索。在

有几个问题:

  1. 是否有一个通用的地方可以设置编码,以便 python代码在处理 字符串文字。做一些类似的事情sys.setdefaultencoding(utf-8) 在加载python代码之前?在
  2. 如果有一个公共位置,代码中的所有字符串文本是否都转换为Unicode。例如,(myDict={“key”:“abc”}myDict={u“key”:u“abc”)将存储为2个不同的k,v对}

Tags: 数据key字符串代码api数据库应用程序sqlalchemy