mysql 插入数据时,出现“\xF0\x9F\x8D\x80\xE5\xB0“这种情况的处理!

YOLO v8 参数设置,详解cfg/default.yaml 训练设置:包括模型文件路径、数据文件路径、训练轮次、训练时间、早停耐心(无改进的训练轮数)、批次大小、图像大小、是否保存训练检查点和预测结果、缓存设置、运行设备、工作线程数、项目和实验名称、是否允许覆盖现有实验、是否使用预训练模型、优化器类型、是否输出详细信息、随机种子、是否启用确定模式、是否作为单类别训练、是否应用矩形训练或验证、是否使用余弦学习率调度器等。任务和模式设置:定义YOLO的任务(如检测、分割、分类、姿态识别)和模式(如训练、验证、预测、导出、跟踪、基准测试)。 阅读详情
AI摘要

本文介绍了如何处理MySQL中4字节表情符号导致的编码问题,提出了解决方案,包括使用utf8mb4编码、数据库配置调整和重启步骤。重点在于避免编码解码带来的复杂性,确保兼容并支持表情字符存储。

问题
Incorrect string value: ‘\xF0\x9F\x8D\x80\xE5\xB0…’ for column ‘question’ at row 1
我们知道设置数据库编码格式,表编码格式和字段编码格式的时候,一般设置为“utf-8”,这对于汉字来说足够了,在mysql中utf8占3个字节,但是对于移动端的特殊表情符号来说,三个字节是不够的,他需要四个字节。这个时候我们使用utf8就会出现‘\xF0\x9F\x8F\x80’的问题。

解决方法
1. 可以对4字节的字符进行编码存储,然后取出来的时候,再进行解码。但是这样做会使得任何使用该字符的地方都要进行编码与解码。

2. 更改数据库的编码为utf8mb4:utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 
采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。

需要改数据库表的编码格式,将至修改为utf8mb4. mysql版本5.5.3之前支持utf8三个字节,5.5.3之后支持utf8mb4四个字节。mysql -V 查看版本,如果版本过低,先升级。

  1. 修改mysql配置文件my.cnf(windows为my.ini)

  2. my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:

  3. [client]

  4. default-character-set = utf8mb4

  5. [mysql]

  6. default-character-set = utf8mb4

  7. [mysqld]

  8. character-set-client-handshake = FALSE

  9. character-set-server = utf8mb4

  10. collation-server = utf8mb4_unicode_ci

  11. init_connect='SET NAMES utf8mb4'

重启数据库

解决mysql报错SQLException: Incorrect string value: ‘\xE5\xB0‘ 字符集不兼容问题 阅读详情

相关推荐

AAA.zip_3344aaa在线观看_aaa8x8x

设计了一个16x8的ROM,采用VHDL语言。采用case语句,通过数码管输出高低地址数值。

mysql 插入数据时,出现"\xF0\x9F\x8F\x80"这种情况的处理!

问题 Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F…’ for column ‘question’ at row 1 我们知道设置数据库编码格式,表编码格式和字段编码格式的时候,一般设置为“utf-8”,这对于汉字来说足够了,在mysql中utf8占3个字节,但是对于移动端的特殊表情符号来说,三个字节是不够的,他需要四个字节。这个时候我们使用u...

谦虚使人发胖的博客 3万+

YOLO详解

本文参考知乎 https://zhuanlan.zhihu.com/p/25236464 1. YOLO的创新点 YOLO将物体检测作为回归问题求解。基于一个单独的end-to-end网络,完成从原始图像的输入到物体位置和类别的输出。 从网络设计上,YOLO与two steps的目标检测方法如RCNN、Fast RCNN和Faster RCNN的区别如下: YOLO训练和检测均是在一个单独网...

UnknownPlayer的博客 9948

数据写入mysql报错 ‘\xF0\x9F\x92\xAB’ for column ‘realName’

工作中遇到的问题,使用spark写入mysql报错:\xF0\x9F\x92\xAB,一般这种情况是由于插入mysql的字段含有生僻字、表情符号emoji等。ps: 我发现我的 mysql-connector-java-5.1.46.jar 是这个版本的,估计替换成。(1)确定该字段的编码格式是否为utf8mb4,如果不是就修改为utf8mb4,然后重新插入。实际情况mysql表和该字段的字符集是 utf8mb4,当时就emo了,不应该插入不进去啊。,并且将该字段的编码格式改为utf8mb4。

weixin_42489619的博客 911

Clion+platformIO开发ESP32时找不到lib文件中引入第三方库的头文件(头文件下有波浪线),实际编译是成功的解决方法

Clion+platformIO开发ESP引入第三方库文件编译器无法找到.h文件但编译成功

zs5218的博客 1852

mcgs数据导出到U盘

mcgs触摸屏在工业中应用还是很多的,尤其他的脚本功能策略功能等将开放性放到了最大,让用户可以根据实际需求进行自由创作,正因为这样,对一些初学者就不是很友好,初学者想要简单操作就能实现功能,但是mcgs不可能两者兼备,在做工业设备,一些数据的采集保存就比较常见,但是mcgs没有相关按钮能够直接实现将数据导出到U盘的功能。这里我给大家讲解关于mcgs将报警历史记录、日志记录、历史数据记录导出到U盘的方法。

qq_24866535的博客 6233

mysql | Incorrect string value: ‘\xE7) \xE5\xA4\xB1...‘

最近mysql 插入数据时遇到错误: “Incorrect string value: '\xE7) \xE5\xA4\xB1…”. 经搜索一般原因是字符集不匹配, 如向latin1 列插入utf8 数据. 进一步分析发现: 插入数据无法转换为目标字符集/编码格式时, 均可能发生该错误(即使字符集相同).

big_cheng的博客 1327

C++cgal库配置+VS2017

Cgal几何图形库在VS2017上的下载、安装与配置。想要一口气下载完所有安装配件的,可以去文章末尾的链接。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。

dsn3S的博客 1489

python中string数据库_python – 将字节字符串保存到数据库中的v...

以下是元组的内容:('g\xba\xfc\x995m\x9a\xf0\x1d\x8b4f1\x05\xdel\xc8;\x10\xffl\xfd{\xc7MA!\x90\xe5N\xf9\x98\xf80\xe0wu\x82B\xb5\xc6\xb1T\\Px_\xfarT\x04\xd4\xe1\xfb?\x81\xa2M\x94P\xa6\x89bM\x00\x18Q\xf7\x979\xd4...

weixin_39609170的博客 397

AutosarMCAL开发——基于TC3x系列时钟系统浅析

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 889

模型预测控制(MPC)算法介绍

模型预测控制(Model Predictive Control,MPC)是一种先进的控制策略,广泛应用于工业过程控制、机器人控制、电力系统等领域。它基于系统的模型,通过滚动优化来预测系统未来的行为,并据此确定当前的最优控制输入。

AI的内部世界的博客 7170

UTF-8编码原理与乱码排查:字符、码点、字节三层解析

字符编码是计算机处理文本的基础协议,本质是字符(Character)→ 码点(Code Point)→ 字节(Byte)的三层映射关系。Unicode为每个字符分配唯一码点(如'中'为U+4E2D),而UTF-8作为主流编码方案,通过前缀码设计实现自同步与ASCII兼容,将码点无损转换为1–4字节序列。其技术价值在于保障跨平台、跨系统文本的可存储性、可传输性与可还原性,广泛应用于Web协议、文件存储、数据库交互及日志处理等场景。理解UTF-8的字节结构和三层模型,是定位UnicodeDecodeError、

weixin_31742871的博客 238

点云语义分割:RandLANet模型推理C++部署(2)

一、数据读取及预处理 二、模型推理 三、结果保存

zhaoguanhua的博客 3798

Unicode编码原理与实战:从乱码解决到多语言开发指南

字符编码是计算机处理文本信息的基础技术,它定义了字符与二进制数据之间的映射关系。其核心原理在于为每个字符分配唯一的数字标识,确保信息在不同系统间准确传递。这项技术的价值在于打破了语言和平台壁垒,实现了全球信息的无障碍交换。在应用场景上,从网页开发、数据库存储到操作系统内部,字符编码无处不在。本文聚焦于Unicode这一全球统一标准,深入解析其设计哲学、UTF-8/UTF-16等主流编码方案,并针对常见的乱码问题,提供在Python、JavaScript等语言中的实战解决方案,帮助开发者彻底告别“问号”和“方

dezhen7015的博客 388

099、多摄融合与变焦系统:广角到长焦的无缝切换算法

本文分享了多摄融合与变焦系统开发中的实战经验和关键挑战。作者通过一个旗舰机项目案例,揭示了广角到长焦切换时画面抖动问题的根源——融合算法误将视差当作运动补偿,并提出"视差冻结窗口"的解决方案。文章总结了三大多摄融合难点:物理视差处理、亮度差异补偿和切换时机把控,详细阐述了分层架构设计、融合权重计算等核心技术。同时强调了产线校准的重要性,并给出五项实用建议:允许边缘鬼影保留、参数场景化配置、加强产线检测、完善调试接口,以及合理运用AI技术。全文展现了多摄融合技术在时间、空间和感知维度上的复杂平衡艺术。

sundong_81的博客 46

NTscan扫描工具

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

爆肝一个月,Python 从入门到精通

本文介绍了Python的安装与基础编程知识。Python是跨平台语言,可在Windows、Mac和Linux系统上运行。安装时应选择最新的Python 3.x版本,并确保勾选“Add Python to PATH”。文章详细说明了在不同操作系统下安装Python的方法,包括使用官方安装包或包管理器(如Scoop、Homebrew)。随后,介绍了Python解释器的基本功能,包括命令行交互环境和集成开发环境。文中还讲解了如何编写第一个程序,强调通过手动输入代码来培养编程感觉,并介绍了变量、数据类型、字符串编码

lw_zhang1101的博客 2041

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TTS语音合成芯片原理与工业级应用实战指南

TTS(Text-to-Speech)语音合成是嵌入式系统中将文本实时转换为自然语音的关键技术,其核心在于硬件级声码器、固化发音词典与低延迟音频生成能力。区别于软件TTS方案,专用TTS芯片通过ROM固化GB2312编码映射、硬件加速声学模型及UART-DAC协同时序控制,实现毫秒级硬实时响应与高抗干扰可靠性。该技术广泛应用于工业人机交互、医疗报警、教育点读及消费电子等对确定性时延和长期稳定性要求严苛的场景。本文聚焦TTS语音合成芯片的底层工作原理、GB2312编码适配逻辑、UART通信时序约束及典型工程避

weixin_34183910的博客 709

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Incorrect string value: ‘\xF0\x9F\x92\x95\’

目录 问题描述 问题分析 ​问题解决 问题扩展 问题描述 工作过程中,突然收到短信和邮件 5xx 报警。通过 5xx HTTP 状态码排查 Nginx 日志、业务日志发现报如下错误: 问题分析 1初步看,应该是说更新 name 写入 utf8编码的 “\xF0\x9F\x92\x95” 失败了。 2 那utf8编码的字符串 “\xF0\x9F\x92\x95” 是什么呢?通过排查发现这个是字符串编码的是 emoji 符号,该 emoji 符号代表两颗心的意思。 上面的 e...

javaTalk 3392

记一次解决Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 插入emoji表情报错问题

插入emoji表情报错问题

Java升级之路的博客 6123

mysql插入数据出现\xF0\x9F\x92\x94‘ for column ‘name‘ at row 1的问题

出现原因 为什么会出现这个问题?这是因为在mysql中utf8的字符格式默认是3个字节为一个单位进行编码,而插入的数据是一个表情是4个字节为一个单位进行编码的。 解决过程 在改变mysql中数据库的编码为utf8mb4之后,接着改变表中的编码为utf8mb4。 插入一个表情发现还是报错。查看表中的字段,发现其编码还是utf8。 将其修改为utf8mb4,问题解决。 ...

weixin_43892471的博客 3570

十分钟搞清字符集和字符编码

本博客已经迁移至:http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/linux/character-encoding/ 本文将简述字符集,字符编码的概念。以及在遭遇乱码时的一些常用诊断技巧 背景:字符集和编码无疑是IT菜鸟甚至是各种大神的头痛问题。当遇到纷繁复杂的字符集,各种火星文和乱码时,问题的定位往...

weixin_30367873的博客 415

MySql中文乱码问题以及Incorrect string value: '\xF0\x9F...' 问题的解决方案

在MySQL命令行中查找数据库的里数据,有些同学遇到了查找结果问中文乱码的问题或者是在向表中插入数据时,出现了Incorrect string value: '\xF0\x9F...' 的错误。 Incorrect string value: '\xF0\x9F...' 的原因是因为UTF-8编码有可能是两个、三个、四个字节;某些特殊的字符是4个字节,而MySQL的UTF-8编码最多是3个字节,

骑士逸 1万+

解决 YOLOV5中SyntaxError: Non-ASCII character ‘\xf0‘ in file detect.py

小白

马上毕业的小菜菜 5628

SQL执行报错Incorrect string value: ‘\xF0\x9F\x98\x81\xF0\x9F...‘ for column ‘XXX‘ at row 1...

utf8mb4是utf8的超集,理论上原来使用utf8,然后将字符集修改为utf8mb4,也基本不会对已有的utf8编码数据的读取产生什么影响,不过为了utf8确实是更节省空间,我们一般情况下使用utf8也就够了。像一些不会对用户限制输入内容的varchar字段,还是尽量使用utf8mb4编码,正如我在文中说到的,这种使用utf8mb4的情况多是在手机端,因为我们限制不了用户往输入框里输入了什么字符,那么我们就必须向上或向下兼容了,通过牺牲部分空间和性能来换取平台的可靠性。

CharCase的博客 6761
上一篇: mysql存储过程动态创建和删除表,比如一次创建1万张表
下一篇: mysql 修改某字段的格式为 utf8mb4
qq_34412985
博客等级 码龄11年 143粉丝 983原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值