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
顺便说一句,我使用的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">