UnicodeDecodeError: ‘charmap‘ codec can‘t decode byte 0x81 in position 17: character maps to <undefi

目录

    • 问题
    • 原因分析
      • 1. **编码不匹配**
      • 2. **常见场景**
    • 解决方案
      • **方案1:设置正确的字符集连接MySQL**
      • **方案2:Python脚本中的解决方案**
      • **方案3:检查并设置系统环境编码**
      • **方案4:MySQL服务器端配置检查**
      • **方案5:在代码中明确处理编码**
    • 预防措施
    • 调试步骤

问题

连接MySQL服务,查询到结果后,本地解析报错
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 17: character maps to <undefined>

这个错误通常是由于字符编码不一致导致的。

原因分析

1.编码不匹配

  • MySQL服务器使用的字符集(如UTF-8)与本地解码时使用的字符集(如Windows的cp1252、gbk等)不一致
  • 特别是当数据中包含非ASCII字符(如中文、特殊符号)时容易出现

2.常见场景

  • 在Windows系统或某些终端环境中运行Linux命令/脚本
  • MySQL数据包含中文或其他多字节字符
  • 默认编码设置不正确

解决方案

方案1:设置正确的字符集连接MySQL

# 在连接时指定字符集mysql -hhostname-u username -p --default-character-set=utf8mb4 database_name# 或者在查询前设置mysql -hhostname-u username -p mysql>SET NAMES'utf8mb4';mysql>SELECT * FROM table;

方案2:Python脚本中的解决方案

如果使用Python连接MySQL:

importpymysql# 正确设置连接字符集connection=pymysql.connect(host='localhost',user='username',password='password',database='dbname',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)# 或者使用mysql-connectorimportmysql.connector conn=mysql.connector.connect(charset='utf8mb4',use_unicode=True,# ... 其他参数)

方案3:检查并设置系统环境编码

# 查看当前系统编码echo$LANGlocale# 设置正确的编码(添加到~/.bashrc或~/.profile)exportLANG=en_US.UTF-8exportLC_ALL=en_US.UTF-8# 临时设置exportPYTHONIOENCODING=utf-8

方案4:MySQL服务器端配置检查

-- 查看当前字符集设置SHOWVARIABLESLIKE'character_set%';SHOWVARIABLESLIKE'collation%';-- 修改表的字符集(如果需要)ALTERTABLEyour_tableCONVERTTOCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;

方案5:在代码中明确处理编码

对于Python脚本:

# 方法1:指定编码打开文件withopen('output.txt','w',encoding='utf-8')asf:f.write(data)# 方法2:手动解码decoded_string=byte_data.decode('utf-8',errors='ignore')# 或 errors='replace'# 方法3:使用编解码器模块importcodecswithcodecs.open('file.txt','r',encoding='utf-8')asf:content=f.read()

预防措施

  1. 统一使用UTF-8/UTF8MB4

    • MySQL连接、表字段、应用程序统一使用utf8mb4
    • 这是最推荐的做法
  2. 检查MySQL配置

    -- 永久修改配置(在my.cnf中)[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
  3. Python环境设置

    # 在脚本开头添加importsysimportio sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

调试步骤

  1. 首先确认MySQL数据的实际编码
  2. 检查连接时的字符集设置
  3. 验证本地环境的编码配置
  4. 逐步测试每个环节的编码转换

建议使用UTF-8系列编码(特别是utf8mb4)作为标准,可以避免大部分字符编码问题。

最后排查下来,上面报错问题原因是连接MySQL 8时,连接参数中字符集使用了’utf-8’ 导致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang中使用 sort.Interface 实现复杂多级排序

举两个例子&#xff0c;说明 sort.Interface实现多级排序。 例子 1 学生成绩排序&#xff08;先按成绩降序&#xff0c;成绩相同按姓名升序&#xff09;package mainimport ("fmt""sort")type Student struct {Name stringScore int}type ByScoreAndName …

MySQL 中的 utf8 vs utf8mb4 区别

目录核心区别详细对比1. **编码范围不同**2. **历史背景**3. **实际影响最明显的场景**4. **存储空间差异**5. **性能差异**关键限制**索引长度限制**实际使用建议1. **新项目一律使用utf8mb4**2. **现有系统迁移步骤**3. **连接配置**4. **排序规则选择**兼容性考虑**向下兼容…

指针,C语言的灵魂与噩梦:从入门到“放弃”的终极指南 [特殊字符]

深入理解指针&#xff0c;让你的C语言技能实现质的飞跃&#xff01; 一、指针是什么&#xff1f;为什么它如此重要&#xff1f; 指针——这两个字让无数C语言初学者又爱又恨。简单来说&#xff0c;指针就是存储内存地址的变量。但它远不止如此&#xff01; 指针的三大核心意义…

SAGE-Net:融合语义信息的自动驾驶注意力预测框架

摘要 在自动驾驶领域,准确预测驾驶员的注意力焦点对于实现安全高效的驾驶决策至关重要。传统方法主要依赖人类眼动数据来构建显著性图,但这种方式存在明显局限性。本文介绍一种创新的语义增强注视检测方法(SAGE, Semantics Augmented GazE),通过将场景语义信息与原始眼动…

Flutter for OpenHarmony:用 StatefulWidget 实现基础用户交互

Flutter for OpenHarmony&#xff1a;用 StatefulWidget 实现基础用户交互 作者&#xff1a;灰灰勇闯IT 时间&#xff1a;2026年1月 适用环境&#xff1a;OpenHarmony 4.0 Flutter for OpenHarmony SDK 本文目标&#xff1a;掌握 StatefulWidget、setState()、按钮点击、文本输…

【读论文】EQ情感智能benchmark:EmoBench

摘要 在大型语言模型展现出惊人的逻辑推理能力的今天,其情感智能究竟处于何种水平?今天一起回顾看下联合了清华大学、密歇根大学、香港大学等多家顶尖机构,基于心理学理论构建了一套全新的评估基准。它不再满足于让模型识别“开心”或“难过”,而是要求模型理解**“为什么…

YOLO26改进 - 采样 | 小目标分割救星:HWD 降采样少丢细节提精度

前言 本文介绍了基于Haar小波的下采样&#xff08;HWD&#xff09;模块与YOLO26的结合&#xff0c;以解决语义分割任务中池化特征导致重要空间信息丧失的问题。HWD模块由无损特征编码模块和特征表示学习模块组成&#xff0c;通过Haar小波变换降低特征图空间分辨率并保留信息。…

【统一功能处理】从入门到源码:拦截器学习指南(含适配器模式深度解读) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

洛谷 P1918:保龄球 ← STL map

​【题目来源】https://www.luogu.com.cn/problem/P1918【题目描述】DL 算缘分算得很烦闷,所以常常到体育馆去打保龄球解闷。因为他保龄球已经打了几十年了,所以技术上不成问题,于是他就想玩点新花招。DL 的视力真的…

详细介绍:C++蓝桥杯之结构体10.15

详细介绍:C++蓝桥杯之结构体10.15pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

抖店商品图如何保存到手机上的方法

抖音小店图片提取保存下载的方法如下&#xff1a; 方案一&#xff1a;借助傻瓜式工具【电商素材提取器】 打开抖音商城&#xff1a; 首先&#xff0c;打开抖音APP并进入“商城”页面。 找到所需商品并点击详情&#xff1a; 在商城中&#xff0c;浏览或搜索找到你希望提取图片…

云端推理中的模型量化技术:减小体积提升速度

云端推理中的模型量化技术&#xff1a;减小体积提升速度 关键词&#xff1a;模型量化、云端推理、浮点精度、整数运算、计算效率、模型体积、量化误差 摘要&#xff1a;在云端推理场景中&#xff0c;深度学习模型的“大体积”和“慢速度”常成为性能瓶颈。本文将用“快递打包”…

C++实现ATM状态机

C实现ATM状态机 以下是一个使用 C 实现的 ATM 状态机示例程序&#xff0c;采用面向对象的方式实现。程序模拟了一个简单的 ATM 系统&#xff0c;包含以下功能&#xff1a; 用户登录查询余额存款取款退出完整代码 #include <iostream> #include <string> #include &…

导师严选2026 AI论文工具TOP10:自考论文写作全攻略

导师严选2026 AI论文工具TOP10&#xff1a;自考论文写作全攻略 2026年自考论文写作工具测评&#xff1a;为何需要一份精准榜单&#xff1f; 随着AI技术的不断进步&#xff0c;越来越多的自考学生开始依赖智能工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的AI论文…

Java毕设项目推荐-基于SpringBoot的社区公益服务管理平台 基于springboot的社区志愿者服务系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【计算机毕业设计案例】基于springboot的居民志愿服务智慧系统社区志愿者服务系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

学长亲荐8个AI论文平台,助你搞定本科毕业论文!

学长亲荐8个AI论文平台&#xff0c;助你搞定本科毕业论文&#xff01; 论文写作的“秘密武器”&#xff1a;AI 工具如何成为你的得力助手 在本科毕业论文的撰写过程中&#xff0c;很多同学都会面临选题难、思路乱、资料少、语言表达不顺等多重挑战。而随着 AI 技术的不断成熟…

论文《关于预防人工智能反叛的初步探讨》修订版

本文已发表于《机器人技术与应用》2017年第4期&#xff0c;这是修订版 (期刊已声明&#xff1a;文章著作权归作者所有)。 这很可能是第一篇正式发表的、从行业技术架构演进的角度讨论人工智能反叛的论文&#xff0c;其中假定人工智能技术的发展将超越现有的深度网络架构。 对…

SMU 2026 ptlks的周报Week 1

好久没写过周报了。 三场个人赛,一场组队赛,然后写了些杂题,cf又上了个紫名。 SMU Winter 2026 Personal Round 2题解 SMU Winter 2026 Personal Round 3题解 SMU Winter 2026 Personal Round 4题解 The 45th ICPC …

2025年少儿编程推荐:五家优选品牌深度全面对比解析

阅读摘要 文档类型:榜单评测与选型 评测维度:课程内容技术平台教学服务学习效果性价比Top Pick: 猿编程|访问 https://www.ybccode.com/ 深入了解 | 拨打 400-007-0680 获取专业咨询 其它上榜: 小鹿编程、西瓜创客…