关于python2.7从数据库读取中文显示乱码的问题解决
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/usr/bin/env python # _*_ coding:utf-8 _*_ import MySQLdb import sys str = raw_input( "please input error code:" ) conn = MySQLdb.connect(host= '127.0.0.1' , user= 'root' , passwd= '123456' , db= 'error_code' ,charset= 'utf8' ) cur = conn.cursor() sql = "select * from error_message where code = " + "'" + str + "'" cur.execute(sql) data=cur.fetchall() print "分类:" +data[0][0].encode( "UTF-8" ), "错误码:" +data[0][1].encode( "UTF-8" ), "错误描述:" +data[0][2].encode( "UTF-8" ), "相关业务方:" +data[0][3].encode( "UTF-8" ) cur.close() conn.close() |
主要有两点如下:
1、在连接数据库时要指定编码类型,如果不指定,将会报如下错误,就算第二步编码了也会出问题。
charset='utf8'
2、在输出数据的时候需要编码:data[0][0].encode("UTF-8"),如果不编码则会报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
1 |
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)