当前位置: 首页 > 知识库问答 >
问题:

保存表情符号使用mysql连接器8对服务器5.6.22

堵龙野
2023-03-14

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

  • mysql服务器5.6.22
  • mysql连接器5.1.47
  • 特定列被设置为使用utf8mb4\u unicode\u ci

我能够使用java在该表列中保存和读取表情符号。

由于某种原因,mysql连接器现在已经升级到8.0.12,系统在保存表情符号时抱怨,

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

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

顺便说一句,我使用的JDBC连接字符串已经有useUnicode=true和characterEncoding=UTF-8

共有1个答案

黄泰宁
2023-03-14

这只羊需要utf8mb4,而不是整个MySQL中的utf8。不仅是列,还有连接。

对于Java:

添加?useUnicode=yes

<%@ 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与连接器/J一起使用,请使用character\u set\u server=utf8mb4配置MySQL服务器。只要未在连接字符串中设置characterEncoding,连接器/J就会使用该设置。这相当于自动检测字符集。

 类似资料:
  • 问题内容: 我正在尝试使用以下代码从本地计算机virtualhost连接到远程MySQL服务器: 我的问题是我无法本地连接,收到错误消息: 无法连接到“ xxx.xxx.xxx.xxx”上的MySQL服务器(10060) 当我将相同的PHP文件上传到服务器时,情况并非如此。我能够毫无问题地查询数据库。 我也无法通过命令行进行连接,但是我可以访问cPanel,它排除了我的IP被意外禁止的可能性。 我

  • 本文向大家介绍PHP PDO:连接到MySQL / MariaDB服务器,包括了PHP PDO:连接到MySQL / MariaDB服务器的使用技巧和注意事项,需要的朋友参考一下 示例 有两种方法可以连接到MySQL / MariaDB服务器,具体取决于您的基础结构。 标准(TCP / IP)连接 由于PDO被设计为与旧的MySQL服务器版本(不支持预准备语句)兼容,因此您必须显式禁用该仿真。否则

  • 命令: 给出了错误: 但是运行sudo权限,工作: 有没有可能因为sudo要求阻止我在intellij中打开数据库而放弃它?在回答这个问题时,我尝试了以下方法:不使用sudo连接到本地MySQL服务器: 这没有帮助。上面的问题抛出了一个不同的错误

  • 问题内容: 我正在使用PHP和MySQL建立数据库连接,唯一的变化是我试图使用服务器IP地址从本地计算机访问远程服务器。 我得到的错误是。用户拥有所有特权和权利。 问题答案: MySQL的大多数默认安装仅侦听本地计算机。 在服务器上查找设置,并确保它正在侦听目标IP地址。您可能还需要确保 未 打开! 另外一种方法(不太安全!)可以将其设置为侦听所有地址-本地和远程:

  • 我在cloud9工作区中安装了一个phpmyadmin应用程序。我将其配置为连接在另一个cloud9工作区中运行的mysql服务器。要配置它,我只需在phpmyadmin配置文件(/var/lib/phpmyadmin/config.inc.php)中添加以下行: 我只是按照这里的指示 当我打开phpmyadmin时,我无法访问远程服务器,并且我总是在应用程序的顶部获得我添加到配置文件中的字符串: