我的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两个..
我不知道为什么我的脚本想要将数据存储在latin-1中,因为它是unicode而且基础是在utf8中。此外,如果我指定data.encode('utf-8')
,则脚本可以正常工作但数据未正确编码..
有什么想法吗?
有关信息,我使用库"数据集"发出MYSQL请求,所以我无法在任何地方指定任何字符集。
答案 0 :(得分:0)
MYSQLdb 可能并不知道它应该编码为utf8。因此,它回退到默认的latin1字符集。在您提出请求时,请将mtcarsmodellmer <- lmer(wt ~ ns(drat,2) + (hp|as.factor(gear)), data= mtcars)
summary(mtcarsmodellmer)
coef(mtcarsmodellmer)
ranef(mtcarsmodellmer)
作为参数传递。
charset='utf8'
<强>更新强>
另一种选择是使用数据库查询。
import MySQLdb
connection = MySQLdb.connect(user = 'username', db = 'database', charset = 'utf8')
希望这可以帮助你。