zoukankan      html  css  js  c++  java
  • emoji字符不能插入MySQL数据库,提示“'xF0x9Fx98x84' for column 'XXXX' at row 1”

    从网络中取下的数据解析后不能插入数据库,提示某个字段有问题,问题提示如下:

    SQLException: Incorrect string value: 'xF0x9Fx98x84' for column 'wei_content' at row 1
    

     查阅资料后发现,是由于emoji字符和数据库有差异,不能直接存储

    解决方案一:

    将内容中的emoji字符去掉:

    public String removeNonBmpUnicode(String str) {    
    	   if (str == null) {    
    	       return null;    
    	   }    
    	   str = str.replaceAll("[^\u0000-\uFFFF]", "");    
    	  return str;    
    }
    

     解决方案二:

    设置数据库参数:

    1.将MySQL编码从utf8转换成utf8mb4:

    修改MySQL安装目录下的my.cnf

    2.修改数据表的编码为utf8mb4
     执行命令:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;

    至此应该可以解决问题了。。

  • 相关阅读:
    做问答系统是对题目修改的bug
    控件treetable使用
    百度地图API --地理位置定位
    按每十分钟查询数据
    《deetom》项目开发历程<六> 免登陆
    poj 3348
    poj 1556
    poj 1269
    poj 3304
    R 540
  • 原文地址:https://www.cnblogs.com/zjiacun/p/7736459.html
Copyright © 2011-2022 走看看