解决数据库unicode编码导致字符串读取问题

如何在 MySQL 数据库中支持完整的Unicode 永远不要在 MySQL 中使用 utf8——总是使用 utf8mb4。更新数据库和代码可能需要一些时间,但绝对值得付出努力。为什么要任意限制可以在数据库中使用的符号集?为什么每次用户输入星体符号作为评论或消息的一部分或我们存储在数据库中的任何内容时,都会丢失数据?没有理由不在所有地方争取完全的 支持。做正确的事,使用 utf8mb4。微点阅读。 阅读详情

数据库设置编码为:utf8mb4_unicode_ci
在业务上用数据库已经存储带空格的字符去对比真实输入带有空格的字符串数据,就会遇到表面上看过去一模一样,经过程序对比却是返回False
例子:
数据库可视化查询结果如下:
在这里插入图片描述

用程序查询出来的结果:

>>> data
[('Free\xa0Pray')]

这显然无法正常匹配的上,用unicodedata库即可解决该问题。
解决方案:

new_str = unicodedata.normalize("NFKD", unicode_str)
>>> input_name
'Free Pray'
>>> db_name
'Free\xa0Pray'
>>> input_name == db_name
False
>>> import unicodedata
>>> new_name = unicodedata.normalize("NFKD", db_name)
>>> new_name
'Free Pray'
>>> new_name == input_name
True

详情可参考官方文档:https://docs.python.org/2/library/unicodedata.html#unicodedata.normalize

如果觉得文章对您有帮助,欢迎点赞,收藏、关注!

多字节字符集与Unicode字符集(CString char*和wchar_t* 容易出错的原因) 1.基本概念 2.L与_T 3.char TCHAR 与 wchar_t,strcpy wcscpy与_tcscpy 4.LPSTR,LPCSTR,LPTSTR,LPCTSTR,LPWSTR,LPCWSTR 5.ANSI转Unicode(char 转 wchar_t) 6.Unicode转ANSI(wchar_t 转 har) 7.CString 1.ANSI与Unicode ANSI:多字... 阅读详情

相关推荐

unicode点阵显示字库文件

gbk点阵字库文件,unicode转换为gbk的文件

MFC使用Unicode字符集在网络编程接收数据乱码或不完整的解决办法

VC6.0中默认使用的是多字节编码,而从VS2005以后,默认使用的是Unicode字符编码方式,尤其在VS2013中还取消了对于多字节编码的支持,需要额外安装插件。如果使用多字节编码就不会遇到本文所说的问题,但是用Unicode字符编码方式也是有好处的,除了支持程序主题更美观,更重要的是统一编码标准。这或许就是vs中取消多字节编码的一个原因吧。 好...

weixin_34273046的博客 645

[cadence]Allegro STEP-3D模型导入、匹配、导出的方法及注意事项

如果 Avaliable里面没有和symbols对应的文件,说明没有对应的3D模型,这时候需要在你的step路径下创建y与 .dra 封装文件相同名称的。选择好 Output file 和 name 之后呢,点击 Export。首先打开Setup - Step Package Mapping。注意:路径中不能有中文名称,有的话你会发现不能导出,也不会报错。在路径下将下载或者自己做的 3D模型文件改名之后,重新打开。可在View -> 3D View。

LuDvei的博客 2万+

mysql模糊查询unicode编码的字段的解决方案——mybatis查数据库mysql时对unicode支持问题

1.mysql数据库里的nickname字段内容是经过unicode编码处理后存储的, 如:\u73\u74\u61\u72\u7a\u6d\ud83d\udc7f\u20\ud83d\ude04\u20\ud83d\ude03\u20\ud83d\ude13 实际明文:starzm

透明大脑 7173

CCC数字钥匙3.0标准解读(16)

介绍通信过程最重要部分:身份认证和加密.介绍需要身份认证的过程和需要加密的数据及过程.

weixin_41738640的博客 1534

奇迹mu服务端DATA文件解析:从基础配置到高级玩法

本文深入解析奇迹MU服务端DATA文件的核心配置与高级玩法,涵盖基础设置、怪物AI系统、技能战斗机制、副本事件管理及物品商城定制。通过详细示例和实用技巧,帮助开发者掌握从经验倍率调整到动态事件触发的全方位配置方法,实现个性化的私服搭建与运营。

weixin_29254673的博客 530

MySQL尾部空格处理与哪些设置有关? 字符集PAD SPACE与NO PAD属性的区别、MySQL字段尾部有空格为什么也能查询出来?

MySQL尾部空格处理与哪些设置有关? 字符集PAD SPACE与NO PAD属性的区别、MySQL字段尾部有空格为什么也能查询出来?

weixin_49114503的博客 2343

41-dify案例分享-基于database插件实现Text2sql的数据库查询图表工作流

本文介绍基于 Text2SQL 的 Dify 工作流实现过程。先阐述 Text2SQL 概念、步骤及应用领域。接着说明工作流制作,包括用 chatflow 加开场白、获取系统时间,配置 LLM 生成 SQL,用 SQL Execute 工具查询,经 LLM 汇总结果,代码生成 ECharts 数据,条件分支判断图表类型输出。最后介绍验证测试、提供体验地址,还提及借助工具生成建表和初始化数据 SQL 语句。

个人技术 1万+

字符,字节和编码

摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。 掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。 引言 “字符与编码”是一个被经常讨

快乐的鱼儿学敲码 410

2026年最值得学习的十大 SAP 开发技术

在这辞旧迎新之际,我想和大家聊聊我心中的2026年我仍然愿意持续投入时间去学习的一些 SAP 开发技术。因为笔者水平和视野局限,加上这份清单有笔者主观兴趣爱好在内,可能大家对清单上罗列的技术有不同意见,欢迎大家在评论区发表自己的见解。下面是笔者列出的十个技术方向,排名不分先后。因为精力有限,2026年我很可能只会选择其中一两个自己最感兴趣的方向去深耕。每项技术后面都提供了链接,方便大家看完就开始学习。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1522

【GameFramework扩展应用】6-5、GameFramework框架出包时增加版本信息Version.txt文件

框架在热更新的时候,会先去获取文件,然后获取版本号,对比版本号和资源大小,才会开始下载资源。但是,框架生成AssetBundle资源的包里面是没有这个文件的,只能我们新建一个文件,然后手动填入数据,非常麻烦。好消息是,框架把这些接口都留给我们了,我们只需要继承接口,重写函数,然后在打包的时候选择这个辅助器即可。下面就来看一下如何实现把。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1039

计算机底层存储字节还是字符,彻底搞懂乱码——字符,字节和编码

级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“字符与编码”是一个被经常讨论的话...

weixin_39628343的博客 970

液滴/液膜蒸发过程—in文件模拟-后处理分析-Ovito/Python绘图

液滴/液膜蒸发过程—in文件模拟-后处理分析-Ovito/Python绘图

Rockyoung 3325

java access 中文乱码_Java JDBC-ODBC 连接 Access 数据库 中文乱码解决

[tag:powerbuilder odbc mysql 中文乱码作者:benjaminz(zeng78@gmail.com) 时间:2008-11-14 由于一个项目中要使用mysql作为数据库,前端的开发工具定为powerbuilder9,安由于Java的String类型使用的是unicode编码,而微软的Access数据库使用的是gbk编码。使用String类型的变量存储Access中的文本...

weixin_35327824的博客 653

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 414

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java+mysql中文乱码问题

乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式。当然,如果可以直接修改配置文件的话,也可以解决乱码问题,然而某些情况下,我们并不能直接接触到配置文件(例如你是买的网上的空间),此时,我们可以采取编码格式转换的方法...

weixin_30567225的博客 133

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微信昵称中含有emoji字符等特殊符号时引起的存储问题

问题:当PHP获取微信昵称并保存在数据库中,会报错;当然待从数据库中读取时只能是空的。 原因:查询得知,一般数据库字体编码为utf-8, 3字节, emoji为unicode编码,4字节,数据库插入不成功,只能报错 解决1:数据库编码选择utf8mb4字符集,适用于全新数据库 解决2:在插入数据时,将可能包含特殊符号的字符串编码(utf8_encode),从数据库读取数据时,同样字段进行解码(ut...

weixin_30770495的博客 1004

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Mysql处理字符串中的隐藏字符

Mysql处理字符串中的隐藏字符 前言 在项目中,数据插入的时候在很多场景下面都会造成数据插入的字符串中隐藏的无法肉眼可查的字符,此隐藏字符可能会影响到业务的查询 一、项目中出现的场景 bufferedReader.readLine()读取文件第一行时,会多出一个空格(65279 代表空格),此时如果业务尚未单独处理此字符,就会造成在数据中插入一条携带隐藏字符的字符串 二、解决步骤 -> Mysql 1.Hex函数让隐藏字符显示真身 SELECT hex(tran_no),tran_

qq_39472779的博客 1733

python设置unicode编码_关于python中的unicode字符串的使用

基于python2.7中的字符串:unicode——》编码encode('utf-8')——》写入文件读出文件——》解码decode('utf-8')——》unicode在使用unicode的时候,必须注意以下的原则:1、 程序中出现字符串的地方加前缀u,表示为unicode类型2、不要使用str函数,在使用的时候使用unicode函数3、不要使用string模块4、只有在写入文件或者数据库或者网...

weixin_39953236的博客 749

python读取数据库的文件出现编码问题的解决办法

一些基本概念: 编码:将人类可识别的字符转换为机器可识别的字节码、字节序列。encode 解码:编码的反向过程。decode unicode是人类可识别的字符串格式。ASCII、UTF-8、GBK等都是机器可识别的字节编码。 python2的默认编码是ASCII码,因此无法识别中文字符,需要显式指定字符编码。 机器内存中的数据,统一使用UNICODE编码 数据传输或者保存到硬盘上,使用UTF-8编...

fanyao4144的博客 1357

python3转为unicode编码_Python3的unicode编码转换成中文的问题及解决方案

python中怎样将unicode转换成原来的中文?[这世界上一定有另一个小编做着小编不敢做的事过着小编想过的生活]前端将中文编码后传到后台,后台对传来的数据进行json.dumps存入mysql数python默认就是unicode存储。如果是从文件读取的,在open的参数中指定encoding关键字参数就行。如下: #coding=utf-8/import json /def LoadQuest...

weixin_36272622的博客 2898

python的unicode_python的unicode及其编码解码

Unicode支持多种编码格式,这为程序员带来了额外的负担,每当你向一个文件写入字符串的时候,你必须定义一个编码用于把对应的Unicode内容转换成你定义的格式,Python通过Unicode字符串的encode()函数解决了这个问题,该函数接受字符串中的字符为参数,输出你指定的编码格式的内容。所以,每次我们写一个Unicode字符串到磁盘上我们都要用指定的编码器给他“编码“一下,相应地,当我们从...

weixin_39929961的博客 3523

关于python中的unicode字符串的使用

python对unicode的支持

KEL 1万+

解决Python中读Oracle数据库的中文编码问题

一、编码 字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集有:ASCII字符集、ISO 8859字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。 1、ASCII ASC

melon0014的博客 1万+

python中unicode编码_python unicode编码

展开全部python unicode编码:下面2113的代码创建了5261一个Unicode字符串,用UTF-8编码器将它编4102码,然后写入到一个文件中去,1653接着把数据从文件中读回来,解码成Unicode字符串对象,最后,打印出Unicode字符串,用以确认程序正确地运行。在Linux中编写,在VIM中输入如下代码,保存为uniFile.py# /home/xiaopeng/python...

weixin_39761255的博客 334

Unicode 中文乱码排查与解决方案

中文乱码问题常见于软件开发中,主要源于编码不一致、环境配置错误或程序处理不当。本文系统分析了乱码成因,包括UTF-8与GBK等编码差异,并提供了排查方法:确定输入输出编码、分析异常字符、检查环境配置。解决方案建议统一使用UTF-8编码,调整系统环境,使用转码工具,并针对网页、数据库等具体场景给出修复方案。文章强调通过编码标准化和系统测试可有效预防乱码,为开发者提供了全面的中文乱码处理指南。

vortex5的博客 2万+
上一篇: Flask异步操作实例
下一篇: Python爬虫之代理问题
Thomas_Lean
博客等级 码龄9年 58粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值