栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jar包控制台乱码问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jar包控制台乱码问题

问题与背景

在部署的时候,往往会遇到win系统跑控制台的情况,很多时候会遇到乱码,这时候我们需要通过设置编码格式来进行处理。

解决方案尝试 使用git的控制台(失败)


尝试了将控制台程序改为git控制台,还是乱码。该解决方案无效。

bat脚本 (失败)

通过在bat脚本中,规定chcp,然后执行java -jar 命令时加上-DFile.encoding=utf-8,写成bat脚本。

@echo off
chcp 65001
title "执行引擎启动终端"
java -DFile.encoding=utf-8 -jar EdgeMind-exec-0.0.1-SNAPSHOT.jar
修改maven的打包编码+配合bat脚本

最终的解决方案是在maven的pom中增加config属性,设置包的导出编码格式。maven的默认打包编码为gbk。需要设置为utf8

    
        1.8
        UTF-8
        1.8
        1.8
        utf8
    

展示乱码无非就是编码和解码方式对不上,所以才会出现乱码。
可以涉及编码的地方有:java文件的编码方式,整个项目的编码,maven导出时候的编码,运行时候的控制台,jvm解码编码。只要这个链条保持统一,那么就会出现解码编码的问题了。
java文件和项目的编码,可以通过idea控制,找到对应的地方设置为utf8即可。
maven导出时候的编码,要通过设置编译时候的编码格式来控制,需要配置maven。
jar运行的时候,需要改变一下控制台的编码。所以bat脚本设置:chcp 65001。
java将程序运行的时候,jvm指定解码格式进行运行。

java -DFile.encoding=utf-8 -jar A.jar
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号