我有一个以前使用过的系统:
而且我能够使用Java保存该表列中的表情符号并从中读取表情符号。
由于某些原因,mysql连接器现在已升级到8.0.12,并且在保存表情符号时系统会抱怨
原因:java.sql.SQLException:不正确的字符串值: 第1行“名称”列的“ \ xF0 \ x9F \ x90 \ x91”
任何人都知道如何解决此问题?非常感谢。
顺便说一句,我正在使用的JDBC连接字符串已经具有useUnicode = true和characterEncoding = UTF-8
答案 0 :(得分:0)
那只绵羊需要utf8mb4,而不是整个MySQL的utf8。不仅是专栏,而且还有连接。
对于Java:
在JDBC URL中添加?useUnicode=yes&characterEncoding=UTF-8
(或者可能是= true和= utf8)
<%@ 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">
要将4字节UTF8与Connector / J一起使用,请使用character_set_server=utf8mb4
配置MySQL服务器。只要未在连接字符串中设置characterEncoding,Connector / J将使用该设置。这等效于自动检测字符集。