解决数据库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

肿瘤基因组分析实战:VAF、MAF、CCF这些指标到底怎么算?(附Python代码示例)

本文通过Python代码示例,详细解析了肿瘤基因组分析中VAF、MAF和CCF三大核心指标的计算逻辑与应用。文章从VCF文件解析入手,逐步演示了变异等位基因频率、次等位基因频率及癌细胞分数的计算方法,并探讨了拷贝数变异对结果的影响及克隆结构推断的实战流程,为生物信息分析提供实用指南。

silver的专栏 1006

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

STM32CubMX_MQ135检测空气质量

一、MQ135简介 MQ135是测量空气污染情况常用的一个传感器,具有代表性,价格低,寿命长,敏感度也OK,主要用于测量空气中二氧化碳,氮氧化物,氨气,酒精,苯类等。这几样气体可以说都属于家用空气污染测定中的重要成份,因此用这个传感器刚刚好。 MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 注: pm2.5的话要用另外类型

W_Oilpicture的博客 3万+

Squareline Studio + LVGL实战:从Figma设计到MCU屏幕的UI开发一条龙(避坑中文显示)

本文详细介绍了使用Squareline Studio和LVGL实现从Figma设计到MCU屏幕UI开发的全流程,重点解决中文显示等常见问题。通过设计工具链搭建、设计稿转换、LVGL工程集成及性能优化等步骤,帮助开发者高效完成嵌入式GUI开发,提升开发效率。

weixin_29246195的博客 584

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

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

weixin_49114503的博客 2343

Simulink实战:5步搞定固定翼飞行器六自由度动力学建模(附模型下载)

本文提供了一份详细的Simulink实战指南,通过5个核心步骤手把手教你构建固定翼飞行器的六自由度动力学模型。内容涵盖从顶层架构设计、核心方程手动实现,到模型集成、测试调试及进阶优化的完整流程,旨在帮助航空航天学生和工程师将抽象理论转化为可运行的仿真模型,并附有模型下载。

perl8的博客 635

字符,字节和编码

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

快乐的鱼儿学敲码 410

告别‘火龙’:实测BES2800/RK2108等主流芯片,聊聊AI眼镜的功耗与散热‘内卷’实战

本文深入探讨了AI智能眼镜在功耗与散热方面的挑战,重点分析了恒玄BES2800和瑞芯微RK2108等主控芯片的能效表现。通过实测数据和优化策略,揭示了在6nm工艺、异构计算和系统级散热方案下的实战经验,为AI眼镜的功耗管理提供了实用解决方案。

weixin_30839881的博客 946

ABAP Bits and Bytes 完全参考,理解内存、字节、位运算与类型解释

ABAP开发中业务代码与底层字节处理的差异:业务层关注采购订单、会计凭证等语义信息,而接口开发需处理十六进制、位运算等底层操作。文章通过整数变量示例说明同一段字节在不同类型解释下会呈现不同值,并介绍x类型、位运算及类型转换的实际应用。这些知识在文件接口、加密传输等场景中尤为重要,开发者需注意字节序、编码等问题。建议将底层协议处理与业务逻辑分离,以保持代码清晰和可维护性。

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

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

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

weixin_39628343的博客 970

Backtrader官方中文文档:第四章Concepts基本概念

官方Concepts章节:https://backtrader.com/docu/concepts/

汇渊科技 2602

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

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

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

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java+mysql中文乱码问题

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

weixin_30567225的博客 133

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

weixin_30770495的博客 1004

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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、付费专栏及课程。

余额充值