Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在服务器5.6.22上使用mysql连接器8保存emojis_Java_Mysql_Emoji - Fatal编程技术网

Java 在服务器5.6.22上使用mysql连接器8保存emojis

Java 在服务器5.6.22上使用mysql连接器8保存emojis,java,mysql,emoji,Java,Mysql,Emoji,我有一个以前使用过的系统: mysql服务器5.6.22 mysql连接器5.1.47 特定列被设置为使用utf8mb4\u unicode\u ci 我能够使用java在该表列中保存和读取表情符号 由于某种原因,mysql连接器现在已经升级到8.0.12,并且系统在保存emojis时会抱怨 原因:java.sql.SQLException:字符串值不正确: 第1行“名称”列的“\xF0\x9F\x90\x91” 有人知道如何解决这个问题吗?非常感谢 顺便说一句,我使用的JDBC连接字符串已

我有一个以前使用过的系统:

  • mysql服务器5.6.22
  • mysql连接器5.1.47
  • 特定列被设置为使用utf8mb4\u unicode\u ci
我能够使用java在该表列中保存和读取表情符号

由于某种原因,mysql连接器现在已经升级到8.0.12,并且系统在保存emojis时会抱怨

原因:java.sql.SQLException:字符串值不正确: 第1行“名称”列的“\xF0\x9F\x90\x91”

有人知道如何解决这个问题吗?非常感谢


顺便说一句,我使用的JDBC连接字符串已经有useUnicode=true和characterEncoding=UTF-8,sheep需要utf8mb4,而不是整个MySQL中的utf8。不仅是列,还有连接

对于Java:

?useUnicode=yes&characterEncoding=UTF-8
添加到JDBC URL(或者可能是=true和=utf8)


compileJava.options.encoding='UTF-8'
要将4字节UTF8与连接器/J一起使用,请使用
character\u set\u server=utf8mb4
配置MySQL服务器。只要未在连接字符串中设置characterEncoding,连接器/J就会使用该设置。这相当于自动检测字符集

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8" %>

compileJava.options.encoding = 'UTF-8'

<form method="post" action="/your/url/" accept-charset="UTF-8">