记一次activiti审批意见字段乱码问题

2023-05-16

目录

文章目录

  • 记一次activiti审批意见字段乱码问题
    • 问题描述
    • 解决思路
      • 1 数据源连接配置问题
      • 2 检查数据库存储字段是否乱码
      • 3 查看部署环境的编码
      • 4 程序启动命令直接指定编码方式

记一次activiti审批意见字段乱码问题

问题描述

项目功能需要用到审批流。于是就选择了activiti审批流。好处就不细说了。功能开发后在本地环境部署调试没问题。发给了运维老哥进行部署。结果发现审批的流程中。审批人的审批意见字段展示???乱码。

解决思路

1 数据源连接配置问题

spring.datasource.url=jdbc:mysql://ip:3306/dcoos_activiti?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&nullCatalogMeansCurrent=true

其中characterEncoding=utf-8已经配置没有问题

2 检查数据库存储字段是否乱码

activiti启动部署会自己生成对应的库表模型,审批意见内容存储在表: act_hi_comment表 FULL_MSG_字段 类型:longblob。我是通过navicat可视化工具查看该类型的文本展示存库数据就是???乱码。

可以判断是部署环境编码问题。

3 查看部署环境的编码

linux命令:locale查看部署环境的编码集
[xxx@xxxx ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

部署环境的编码集也是没问题的。
试试直接在程序中打印看看编码情况

String comment = "同意";
System.out.println(test.getBytes(StandardCharsets.UTF_8));
System.out.println(new String(test.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
System.out.println(test.getBytes("gbk"));
System.out.println(new String(test.getBytes("ISO-8859-1"), "gbk"));
System.out.println(new String(test.getBytes("UTF8"), "GBK"));
//查看当前系统的字符编码方式
System.out.println(Charset.defaultCharset().name());
//查看当前系统的编码方式
System.out.println(System.getProperty("file.encoding"));

打印出来系统编码方式:ANSI_X3.4-1968

4 程序启动命令直接指定编码方式

-Dfile.encoding=UTF-8

最后用这种方式可行搞定,虽然兜兜转转解决的方式很简单。但是主要想记录下整个排查解决问题的思路。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记一次activiti审批意见字段乱码问题 的相关文章

  • Java之设计模式(一): 单例模式

    单例模式 什么是单例模式 xff1f 单例模式应用场景饿汉式懒汉式静态内部类总结 设计模式 xff08 Design pattern xff09 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 使用设计模式是为了可重用代
  • Java内存结构:基本概念

    基本概念 Java内存结构方法区 xff1a 堆 xff1a 栈 xff1a 内地方法栈 xff1a PC寄存器 xff1a 执行引擎 xff1a 垃圾回收机制 前言 面试经常被问到JAVA内存模型和Java内存结构的区别 JAVA内存模型
  • Java内存结构:jvm调优 堆调优

    堆 什么是堆堆结构图堆的参数配置设置最大堆内存设置新生代与老年代优化参数设置新生代比例参数内存溢出解决办法 什么是堆 是new创建出来的对象或数组存放在堆中 堆结构图 堆的参数配置 XX 43 PrintGC 每次触发GC的时候打印相关日志
  • springboot 2.3之后消失的hibernate-validator

    spirngboot升级到2 3之后 xff0c hibernate validator消失 项目升级到springboot2 3之后 xff0c 参数校验的注解报错 xff0c 发现spring boot starter web的依赖项已
  • CentOS7.6下MySQL8.0 tar.xz 安装详解

    安装详解 环境准备下载安装包安装步骤创建mysql用户更改目录权限初始化mysql设置环境变量添加开机自启动启动MYSQL服务登陆MYSQL修改密码修改公网访问设置防火墙 环境准备 1 由于Centos7自带Mariadb xff0c 卸载
  • Linux 防火墙 常用命令 基于Centos7

    常用操作 firewalld的基本使用服务之间的常用命令配置firewalld cmd firewalld的基本使用 启动 xff1a systemctl start firewalld 关闭 xff1a systemctl stop fi
  • MySQL主从复制和读写分离

    MySQL主从复制和读写分离 MySQL主从复制的好处主从复制的概念与作用主从复制的原理主从复制与读写分离的关系主从复制的配置修改主 master 服务器主服务器给从服务器账号授权修改从 slave 服务器连接主服务器开始同步操作 MySQ
  • java:组织机构树实现名称模糊查询

    在开发的很多场景中 xff0c 需要我们对树形结构进行模糊查询 xff0c 这个时候就需要用到递归来实现定位 xff0c 效果如下图 xff1a 话不多说 xff0c 直接上代码吧 xff1a 首先是对json的实例化对象处理 public
  • openstack dns_使用OpenStack Designate构建DNS即服务

    openstack dns Designate是一个多租户DNS即服务 xff0c 包括用于域和记录管理的REST API xff0c 用于与Neutron集成的框架以及对Bind9的集成支持 您可能需要考虑以下DNSaaS xff1a 干
  • mybatis plus 之UpdateWrapper操作

    目前java开发的系统为了可移植性更高 xff0c 都采用了mybatis plus来做持久层 xff0c 现在介绍一下其中UpdateWrapper的用法 xff1a UpdateWrapper lt TemplateDetailsEnt
  • 阿里域名+腾讯云服务器组合部署网站

    前段时间 xff0c 我在阿里云上购买了一个域名 本想着也在阿里云上购买一台入门级服务器先玩玩 xff0c 但是在看完一系列的产品后 xff0c 还是放弃了阿里云的服务器 对比几家之后还是选择了腾讯云 xff0c 接下来 xff0c 就是踩
  • 解决spring security登出时会由https重定向为http

    我们在集成spring security框架时 xff0c 默认的登出会走一次重定向login logout xff0c 这是如果发布到生产环境 xff0c 则会登出有问题 具体报错就是说由https和http混用访问资源的错误 xff0c
  • docker安装kafka,并集成springboot进行测试

    大家好 xff0c 今天我们开始学习kafka中间件 xff0c 今天我们改变一下策略 xff0c 不刷视频学习 xff0c 改为实践学习 xff0c 在网上找一些案例功能去做 xff0c 来达到学习实践的目的 首先 xff0c 是安装相关
  • springboot集成kafka的相关配置及自定义

    之前的文章末尾 xff0c 简单的实现了springboot集成kafka xff0c 完成了简单的测试 xff0c 今天我们来扩展一下相关内容 首先详解一下配置文件的内容 xff1a spring kafka 指定 kafka 地址 xf
  • sql查询一个表不包含另一个表的数据,两种方法。

    1 用minus函数的方式 xff1a select from CMN FUND where FUND CODE in select FUND CODE from CMN FUND minus select FUND CODE from C
  • js控制输入框禁止输入和允许输入

    初始 xff0c 部分输入框禁止输入 xff1a document ready function 34 fundCode 34 prop 34 disabled 34 true 34 convertFundCode 34 prop 34 d
  • jsp页面内嵌另一个jsp公共页面

    在开发过程中 xff0c 有些功能是一直可以重复使用的 xff0c 这样的页面我们可以做成公共的 xff0c 供每个页面适用 xff0c 那么就需要我们在使用的时候做一下嵌套 例如 xff1a 这样一个页面中 xff1a 上半部分是公共的
  • Go语言入门

    原文地址 xff1a 嗨客网 Go语言入门 Go语言入门教程 很多人将 Go 语言 称为 21 世纪的 C 语言 xff0c 因为 Go 不仅拥有 C 语言的简洁和性能 xff0c 而且还很好的提供了 21 世纪互联网环境下服务端开发的各种
  • Docker学习十:Docker Swarm

    一 Swarm介绍 Swarm 是 Docker 官方推出的容器集群管理工具 xff0c 最大的优势之一就是原生支持 Docker API xff0c 原来的 Docker 用户可以很方便地将服务迁移到 Swarm 中来 Swarm 还内置
  • golang 调用rust_通过从JavaScript调用Rust来构建和扩充库

    golang 调用rust 在为什么要在WebAssembly中使用Rust xff1f xff0c 我探讨了为什么您可能要编写WebAssembly xff08 Wasm xff09 xff0c 以及为什么您可能会选择Rust作为语言来编

随机推荐