【发布时间】:2017-04-22 15:13:42
【问题描述】:
我的 python 2.7 脚本有问题。脚本以 UTF8 声明,我从 Google Search Console API 获得的数据采用 Unicode,而我要存储它们的数据库也采用 UTF8(UTF-8 Unicode utf8mb4,utf8mb4_general_ci)。
如果我在我的 Mac 上启动脚本(并将数据存储在我的物理 ubuntu 服务器上,完全没有问题。 如果我直接从服务器或通过 SSH 在我的 Mac 上启动相同的脚本,我会收到 latin-1 编解码器错误。
我在服务器和我的 mac 上检查了三遍语言环境变量,我得到完全相同的值:
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=fr_FR.UTF-8
Ubuntu终端的编码是UTF8 2..
我不知道为什么我的脚本要将数据存储在 latin-1 中,因为它是 unicode 并且基数是 utf8。另外,如果我指定data.encode('utf-8'),脚本可以工作,但数据未正确编码..
有什么想法吗?
关于信息,我使用库“Dataset”来发出 MYSQL 请求,所以我无法在任何我想的地方指定任何字符集。
【问题讨论】:
标签: python unicode encoding utf-8