Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';Unicode';与';字符串';使用SQLAlchemy和PostgreSQL_Python_Postgresql_Unicode_Sqlalchemy_Python 2.x - Fatal编程技术网

Python ';Unicode';与';字符串';使用SQLAlchemy和PostgreSQL

Python ';Unicode';与';字符串';使用SQLAlchemy和PostgreSQL,python,postgresql,unicode,sqlalchemy,python-2.x,Python,Postgresql,Unicode,Sqlalchemy,Python 2.x,我为我缺乏有关字符编码的知识提前道歉 我的问题是:当使用SQLAlchemy在PostgreSQL中存储数据时,使用“Unicode”类型而不是“String”类型是否有任何固有的优点/缺点(反之亦然)?如果是这样的话,你介意详细说明一下吗?在99.99%的情况下使用Unicode,如果可能的话使用Python 3,因为它会让你的生活更轻松。我想这就是python2?@CraigRinger Yessir。然而,你的提问也让我好奇,这个问题和答案与python3有什么不同。python3对所有字

我为我缺乏有关字符编码的知识提前道歉


我的问题是:当使用SQLAlchemy在PostgreSQL中存储数据时,使用“Unicode”类型而不是“String”类型是否有任何固有的优点/缺点(反之亦然)?如果是这样的话,你介意详细说明一下吗?

在99.99%的情况下使用Unicode,如果可能的话使用Python 3,因为它会让你的生活更轻松。

我想这就是python2?@CraigRinger Yessir。然而,你的提问也让我好奇,这个问题和答案与python3有什么不同。python3对所有字符串表示都使用unicode,而python2没有。这给在字节字符串和unicode字符串之间转换的python2程序带来了问题,而Python3程序通常可以避开这些问题。python文档有一个关于这一点的文档。也是一本很好的读物,介绍了python2中unicode的失败之处。尽管令人烦恼,但最好还是使用unicode,因为它似乎是未来的证明方向。我认为问题是关于sqlalchemy.unicode列类型与sqlalchemy.String列类型。不考虑标准的python unicode/字符串类型,已经编写了很多。可以详细说明原因吗?