SQLAlchemy解决ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory

SQLAlchemy 报ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings错误

python2.x中最讨厌的就是编码问题了,写下来以备后用。

解决方法:

1.开头加上:

#encoding:  utf-8

2.尝试把字符转化为unicode格式

unicode( str_name )

这种方法有时会出现:“UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128 ...” 这种问题。

解决方法:

import sys
reload(sys)
sys.setdefaultencoding(‘utf8‘)
时间: 2024-10-26 01:37:08

SQLAlchemy解决ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory的相关文章

Python3+SQLAlchemy+Sqlite3实现ORM教程

一.安装 Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可.本文sqlalchemy版本为1.3.13 pip install sqlalchemy 二.ORM操作 除了第一步创建引擎时连接URL不一样,其他操作其他mysql等数据库和sqlite都是差不多的. 2.1 创建数据库连接格式说明 sqlite创建数据库连接就是创建数据库,而其他mysql等应该是需要数据库已存在才能创建数据库连接:建立数据库连接本文中有时会称为建立数据库引擎. 2.1.1 sq

[Python]sqlite3二进制文件存储问题(BLOB)(You must not use 8-bit bytestrings unless you use a text_factory...)

事情是这样的: 博主尝试用Python的sqlite3数据库存放加密后的用户名密码信息,表是这样的 CREATE TABLE IF NOT EXISTS user ( userID INTEGER PRIMARY KEY AUTOINCREMENT, userStudentID BLOB NOT NULL UNIQUE ON CONFLICT IGNORE, userPassword BLOB NOT NULL ); 其中userStudentID and UserPassword 储存成了BL

python+sqlite3

一个小例子, # -*- coding:utf-8 -*- ''' Created on 2015年10月8日 (1.1)Python 2.7 Tutorial Pt 12 SQLite - https://www.youtube.com/watch?v=Ll_ufNL5rDA (1.2) sqlite3.connect(":memory:") 这个是亮点. (1.3) [Python] 74 Creating a database with SQLite 3 - https://ww

Python运行出错情况

1.错误内容:You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings. 错误描述:Python中使用Sqlite3模块

Python sqlite3模块的text_factory属性的使用方法研究

写这篇文章,起源于要写一个脚本批量把CSV文件(文件采用GBK或utf-8编码)写入到sqlite数据库里. Python版本:2.7.9 sqlite3模块提供了con = sqlite3.connect("D:\\text_factory.db3") 这样的方法来创建数据库(当文件不存在时,新建库),数据库默认编码为UTF-8,支持使用特殊sql语句设置编码 PRAGMA encoding = "UTF-8"; PRAGMA encoding = "U

利用Python读取json数据并求数据平均值

要做的事情:一共十二个月的json数据(即12个json文件),json数据的一个单元如下所示.读取这些数据,并求取各个(100多个)城市年.季度平均值. { "time_point": "2014-01", "area": "***", "aqi": "71", "pm2_5": "47", "pm10": "69&

python mysqldb 报错: ProgrammingError: must be real number, not str 解决

代码: sql = 'insert into book(book_name,book_desc,origin_price,publish_id,tag_id,book_img) values(%s,%s,%d,%d,%d,%s)' insert_data = save_df.values.tolist() commit_data = tuple([tuple([str(x[0]),str(x[1]),float(x[2]),int(x[3]),int(x[4]),str(x[5])]) for

解决 sqlalchemy 报错:(1193, "Unknown system variable 'tx_isolation'")

1出现此报错的原因是使用的mysql8.0 以前用的是:tx_isolation 现在用是: transaction_isolation a.通过升级 sqlalchemy 的方法可以解决此问题, pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade sqlalchemy --ignore-installed(亲测有效————) b.通过降低,mysql 版本来解决这个问题. 解决 sqlalchemy 报错:(119

Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memcached安装和基本使用 Memcached安装: wget http://memcached.org/latest