项目的解决方案中引用的有mysqlsugar的数据库操作库,在使用插入数据过程中一些特殊的生僻字或表情符号总会提示:

Incorrect string value: '\xF0\x9F...' for column 'name' at row 1

这是由于UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。

进而提示\x十六进制的字符串信息。

因为myselsugar ,也是对sqlsugar的进一步封装。所以将目光聚焦在sqlsugar上就可以了。

sqlsugar给的解决方案是:

在定义实体时将临时保存特殊字符的变量mapping(映射)sqlsugar中的[SqlSugar.SugarColumn(IsTranscoding =true)] //设置该自段转码 属性

例:

 using System;
using System.Linq;
using SqlSugar; namespace ClearMonitor.Model.Entities
{
[SqlSugar.SugarTable("departmentintro")]
public class DepartmentintroData
{
public int DepartmentId { get; set; }
public string DepartmentNo { get; set; }
public string DepartmentName { get; set; }
/// <summary>
/// 部门简介
/// </summary>
[SqlSugar.SugarColumn(IsTranscoding =true)]
public string DepartmentBlurb { get; set; } }
}
最后是官方论坛的解决方案,也贴在下面了。MySql插入表情方案,感谢支持。如有问题请及时沟通联系。

补充说明:实体特性API

ColumnName  定义数据库表字段的真实名称,当一样的时候可以不定义该特性
IsIgnore   不作数据库操作,true将不会进行查询、添加等操作
IsPrimaryKey  标识是否为主键,更新的时候会根据主键值判段更新哪条,当InitKey为Attribute时一定要加该特性不然找不到主键
IsIdentity  是否为自增长
ColumnDescription  列描述
Length  长度,生成表会用到
IsNullable 是否可空,生成表会用到
OldColumnName  修改列名,生成表会用到
ColumnDataType  自定义生成的数据类型,生成表会用到

关于使用mySqlSugar插入数据异常解决方案的更多相关文章

  1. MySQL插入数据异常

    MySQL插入数据异常 1.错误如下: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Dupli ...

  2. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  3. 关于mysql插入数据异常

    今天创建数据库时,在插入数据时出现了几个问题.(首次在LInux环境下创建数据库) 一个是关于SQL Error [1146] [42S02]: Table 'struts2exec.s_user' ...

  4. node操作mysql插入数据异常,incorrect string value

    产生的原因 我在创建表的时候,并没有设定字符编码,所以,默认的字符编码是 latin1 在我插入数据的时候,我的一个字段name设定的是varchar(20) 其实,这时的编码就是 latin1 所以 ...

  5. android sqlite批量插入数据速度解决方案

    转自 http://hi.baidu.com/hfutonline/blog/item/62b1e4de8bdf4b2e5882dd28.html 最近在做android项目的时候遇到一个问题,应用程 ...

  6. 有反斜杠时候,CakePHP往pgsql插入数据异常

    原始数据:INSERT INTO “public”.”tables” (“table”, “columns”) VALUES (‘table1\’, ‘{“col1″:false,”col2″:tru ...

  7. Java 向Hbase表插入数据异常org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apache.client.HTable

    出错代码如下: //1.create HTablePool HTablePool hp=new HTablePool(con, 1000); //2.get HTable from HTablepoo ...

  8. c# sqlbulkcopy批量插入数据

    dt信息中包含数据和表名 public static void SqlBulkInsert(DataTable dt, string connStr) { try { using (var conn ...

  9. c# 数据库批量插入数据SqlBulkCopy 示例

    /// <summary> /// 批量插入数据 /// </summary> public static void SqlBulkInsert(DataTable dt, s ...

随机推荐

  1. MySQL数据逻辑备份

    逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低. mysqldump mydumper使用mysqldump实现逻辑备份 语法: # mysqldump ...

  2. 机器学习——k-均值算法(聚类)

    文章目录 k-均值(k-means)聚类 1.k-均值算法 2.k-均值算法的代价函数 3.k-均值算法步骤 4.初始化聚类中心点和聚类个数 5.sklearn实现k-means算法 k-均值(k-m ...

  3. MySql日期格式化(format)取值范围

  4. rf增加产品的例子

    Open Browser http://xxx.xxx.xxx.xxx:1000/portal/login/init.htm gcMaximize Browser Window sleep 2 #Ge ...

  5. Docker镜像拉取总结

    flannel docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64 docker tag quay-mirror.qiniu. ...

  6. monkey--介绍

    前戏 monkey程序是android系统自带的,其启动脚本是位于android系统的/system/bin目录的monkey文件,其jar包是位于android系统的/system/framewor ...

  7. 基环树DP

    基环树DP Page1:问题 啥是基环树?就是在一棵树上增加一条边. Page2:基环树的几种情况 无向 有向:基环外向树,基环内向树. Page3:处理问题的基本方式 1.断环成树 2.分别处理树和 ...

  8. 实验三:Linux进程管理(HDU)

    2.设计内容 把下面的几个网址的内容看懂,关于Linux的通信机制就会有个基本的了解了,后面的这几个代码也应该可以看得懂了. 管道通信:https://blog.csdn.net/ljianhui/a ...

  9. windows 安装 numpy scipy matplotlib scikit-learn

    直接使用  pip install 包名  的方法安装不成功 下载第三方安装包 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy  根据系统 ...

  10. git使用问题与技巧

    1.修改gitolite管理员 如果gitolite原来的管理员已经没了,那么需要把当前的公钥放到服务器覆盖,然后替换目录下.ssh/authorized_keys内容 2.clone报告超过限制 w ...