分析:http://www.myexception.cn/mysql/639943.html

解决方法:http://blog.sina.com.cn/s/blog_3f78232201011o26.html

public class Utf8Filter {public static void main(String[] args) throws Exception {System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0x41 }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0xf3, (byte) 0xb7,(byte) 0xa2, (byte) 0xbe }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0x41, (byte) 0xf3,(byte) 0xb7, (byte) 0xa2, (byte) 0xbe }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0xf3, (byte) 0xb7,(byte) 0xa2, (byte) 0xbe, (byte) 0x41 }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0x41, (byte) 0xf3,(byte) 0xb7, (byte) 0xa2, (byte) 0xbe, (byte) 0x41 }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0xf3, (byte) 0xb7,(byte) 0xa2, (byte) 0xbe, (byte) 0xf3, (byte) 0xb7, (byte) 0xa2, (byte) 0xbe,(byte) 0x41 }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0x41, (byte) 0xf3,(byte) 0xb7, (byte) 0xa2, (byte) 0xbe, (byte) 0xf3, (byte) 0xb7, (byte) 0xa2,(byte) 0xbe }, "utf-8")));System.out.println(filterMt4BytesUtf8(new String(new byte[] { (byte) 0x41, (byte) 0xf3,(byte) 0xb7, (byte) 0xa2, (byte) 0xbe, (byte) 0xf3, (byte) 0xb7, (byte) 0xa2,(byte) 0xbe, (byte) 0x41 }, "utf-8")));}private static String filterMt4BytesUtf8(String input) {if (StringUtils.isBlank(input))return input;ByteArrayOutputStream is = new ByteArrayOutputStream();byte[] bytes = input.getBytes();outter: for (int i = 0, length = bytes.length; i < length; i++) {byte b = bytes[i];while (((b & 0xF8) == 0xF0) || ((b & 0xFc) == 0xF8) || ((b & 0xFe) == 0xFc)) {// found a byte of 4, 5, 6 UTF-8 bytes for a character// eat the following bytes of this characterwhile (++i < length && ((b = bytes[i]) & 0xC0) == 0x80);// insert a replacement character

is.write((byte) 0xEF);is.write((byte) 0xBF);is.write((byte) 0xBD);if (i >= length) {// we reach the end of byte arraybreak outter;}}// found byte of 1, 2, 3 UTF-8 bytes for a character

is.write(b);}try {return new String(is.toByteArray(), "utf-8");} catch (UnsupportedEncodingException e) {logger.error("filter more than 4 bytes utf-8 character failed!", e);}return input;}}

mysql表utf-8 字符串入库编码异常相关推荐

  1. mysql 搜索标题中字符串_如何在MySQL表中搜索特定字符串?

    使用等于运算符进行完全匹配-select *from yourTableName where yourColumnName=yourValue; 让我们首先创建一个表-mysql> create ...

  2. MySQL小的出库入库_根据出库、入库表,实现对库存的信息查询

    数据库:mysql 要求:多个仓库.多个产品 表:1.入库凭证表 t_rkpz 2.入库明细表 t_rkpzmx 3.出库凭证表 t_ckpz 4.出库凭证表 t_ckpzmx 说明:两对主从表 [( ...

  3. Unicode、UTF 和 ISO-8859-1等编码方式详解与浏览器URL编码

    将字符转换为二进制码的过程,我们称为编码,将二进制码转换为字符的过程,我们称为解码. 编码和解码时所采用的规则,我们称为字符集 常见的字符集: ASCII - 美国人编码,使用7位来对美国常用的字符进 ...

  4. gb2312编码在线转换_python基础学习—04字符串与编码

    点击上方蓝字关注我们不迷路! 字符串与编码 一.了解计算机编码 1.1  编码 定义:将信息从一种形式转换为另外一种形式的过程叫做编码,即信息转换过程 举例:信息加密解密.语言翻译 1.2  计算机编 ...

  5. java 字符串指定编码输出_java对字符的编码处理

    在java应用软件中,会有多处涉及到字符集编码,有些地方需要进行正确的设置,有些地方需要进行一定程度的处理. 1. getBytes(charset) 这是java字符串处理的一个标准函数,其作用是将 ...

  6. ssma迁移助手_如何使用SQL Server迁移助手(SSMA)和SSIS将MySQL表迁移到SQL Server

    ssma迁移助手 介绍 (Introduction) In this article, we will demonstrate how to migrate MySQL tables to SQL S ...

  7. 搞清字库表、编码字符集、字符编码

    在介绍字符集之前,我们先了解下为什么要有字符集.我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那么在这两者之间的转换规则就需要一个统一的标准,否则把我们的U盘 ...

  8. Window下,C++ 操作 Mysql、Url、utf-8文件 编码问题(读取和写入)

    Mysql 读取mysql表,中文乱码 在sql语句执行前执行mysql_query(&mysql, "SET NAMES GB2312"); mysql_query(&a ...

  9. MySQL表结构设计

    MySQL表结构设计包括:字段类型选择 + 物理存储设计 + 表的访问设计. 数字类型 整型类型 在整型类型中,有 signed 和 unsigned 属性,其表示的是整型的取值范围,默认为 sign ...

  10. 修改mysql 表数据翻倍_【原创】关于MySQL表设计应该注意的问题(做了点修改)

    关于设计表时应该注意的问题 如有错误欢迎大家指出.这段时间在家里,做了点修正. 1.慎重选择表名. 有两种选择: 按照多数开发语言的命名规则.比如(myCustomer). 按照多数开源思想命名规则. ...

最新文章

  1. 使用QT定时器 隐藏 label
  2. 后台数据到mysql怎样保持实时更新_京东智联云MySQL数据库如何保障数据的可靠性?...
  3. 今日arXiv精选 | 35篇顶会论文:ICCV/ CIKM/ ACM MM
  4. SQL 语句 - Select(6): 字段运算
  5. FFmpeg总结(十四)FFmpeg如何解析直播点播m3u8
  6. 《Head First Servlets JSP》-11-Web应用部署
  7. 使用layoutParams设置控件高宽需要注意的问题
  8. 朱朱的2020年(上)
  9. android8.1刷机工具,DX200固件AndroidV8.1 Beta-V2刷机工具包
  10. 云呐|固定资产调拨流程(固定资产调拨需要哪些流程)
  11. GitHub上最火的7个spring cloud开源项目,对新手太友好了
  12. Real-Time High-Resolution Background Matting
  13. 豆瓣8.6分的《长安十二时辰》,为什么有人却并不喜欢?
  14. 新生研讨课报告 计算机,机械工程新生研讨课报告.docx
  15. 轻松理解skip-gram模型
  16. python中for循环在遍历文件内容时的问题
  17. MATLAB中实现多个点到某一点欧式距离计算方法
  18. 战略决定结构是什么意思?
  19. html浏览器在哪里,javascript在哪儿启用?
  20. 龙族幻想最新东京机器人位置_龙族幻想东京攻略异闻怎么触发_龙族幻想东京攻略异闻详细攻略_求知软件网...

热门文章

  1. 独家:XIV能否助IBM改变传统存储规则?
  2. [转]Asp.Net下导出/导入规则的Excel(.xls)文件
  3. fft c语言与matlab,c语言matlab实现fft几种编程实例.doc
  4. Linux音频驱动-ASOC之Machine
  5. CentOS镜像中替换安装镜像的小系统的内核方法
  6. u-boot 2016.05 添加自己的board 以及config.h uboot移植
  7. ffmpeg文档4:创建线程
  8. Python爬虫的学习入门
  9. 等比数列求和python_python计算等差数列
  10. ip地址与整数的相互转化