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

tomcat web应用程序上的emojis问题

督德泽
2023-03-14

我在数据库中存储表情符号时遇到了问题。我有一个tomcat网络应用程序连接到一个RDS MySQL数据库(5.5版本)所以基本上每当有一个表情符号,Hibernate会引发一个异常

组织。冬眠例外GenericJDBCException:无法插入:[pojos.hibernate.Comment]

原因是

java.sql.SQLExc0019:第1行的“文本”列的字符串值不正确:\xF0\x9F\x98\x80\xF0\x9F...

这是Hibernate连接配置:

<property name="hibernate. connection. driver_class">com. mysql. jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://XXXXXXXXX:3306/XXXXXX?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</property>
<property name="hibernate.connection.username">XXXXXXX</property>
<property name="hibernate.connection.password">XXXXXXX</property> 
<property name="hibernate.connection.CharSet">utf8mb4</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>

这是表信息:

CREATE TABLE `comment` (
  `idcomment` int(11) NOT NULL AUTO_INCREMENT,
  `text` mediumtext COLLATE utf8mb4_bin,
  `date` datetime DEFAULT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=2936 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

我试图在文本栏中存储表情符号,但运气不好。

我也尝试删除autoRENect=true

我找遍了,但没有运气。有什么建议吗?


共有1个答案

邓深
2023-03-14

我有一个类似的问题,这是因为我的webapp和mysql之间的连接不是使用utf8mb4建立的。我在我的my中放了以下几行。cnf成功了!

让我知道它是否适合你!

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = TRUE
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
 类似资料:
  • 我正在上传一个大的应用程序(大约250MB)。从家里,它在1个小时左右上传。 上载应用程序时出错。 服务器错误,状态代码:500,错误代码:0,消息: 有什么想法或建议吗?谢谢!

  • 亲爱的,我已经部署了如下示例服务: 当我执行get nodes-o wide时,如下所示, 任何帮助。谢了。

  • 我有一个使用Thymeleaf作为模板引擎的Spring Boot应用程序,我添加了一个默认控制器,在服务器上部署时应该重定向到主页,控制器代码片段如下: 索引由 ViewResolver 解析到匹配的网页。 当在独立的Tomcat实例上部署生成的war“app . war”时,应用程序工作正常,我被重定向到主页(localhost:XXX/context _ path/index),“local

  • 也许这只是因为我是PyInstaller的新手,但我发现文档并不容易找到具体的答案。但是再深入一点看,我决定在命令行中添加-d选项,以便在调试试图执行我的应用程序时查看调试输出,因此我使用的完整命令行是:>pyinstaller-f-w-d c:\pythonapps\hello.py。这给了我很多信息,以这个错误消息结尾: 执行脚本PYI_RTH_TKINTER失败。 这与我在最初的程序中看到的

  • 我是kubernetes的新手,我尝试使用Kubernete运行小型应用程序。我创建了docker镜像并使用minikube运行它。所以应用程序非常简单,它只打印hello world。 我的dockerfile文件: deployment.yaml 我运行命令: 创建deployment.yaml 输出是: 服务/myhelloworldservice已创建 创建的部署.apps/我的问候世界

  • 调试代码 console 输出结果中显示 emoji 图标,帮助您编写更好的代码,并使调试变得更有趣,如下,在命令行中你的调试前面加上了 emoji 图标,使用方法很简单,console.log 是你的日志输出方法,只需要将这个方法中的 log 改成 emoji 图标的名字输出你的日志即可,比如要输出日志前面加个国旗 console.cn('欢迎来中国') 安装: npm install cons