今天做项目的时候遇到一个很头疼的问题——无论在Java代码中如何统一编码为UTF8,在IDE中运行是完全没问题的,但打包成Jar通过Bash和CMD运行,都会出现中文乱码问题。起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。
乱码共有两处:一处是控制台打印日志乱码,另一处是返回数据到前台,乱码。
解决:
控制台日志乱码:
打开cmd,输入以下命令
chcp 65001
这样就可以更改cmd的编码为UTF-8了。
数据结果乱码:
运行时,指定编码,启动命令改为:
java -Dfile.encoding=utf-8 -jar cpw-0.0.1-SNAPSHOT.jar
相关推荐
java文件打成jar包
java程序如何打成jar包 java程序如何打成jar包
NULL 博文链接:https://747017186.iteye.com/blog/2299559
编译运行java带jar包
从javacv-platform-1.3.3-bin.zip中抽出来的:javacpp.jar、javacv.jar、javacv-platform.jar、opencv.jar、opencv-android-arm.jar、opencv-android-x86.jar、opencv-linux-armhf.jar 、opencv-linux-ppc64le.jar、...
将springboot打包成的jar文件做成windows服务,解决java程序自启动问题,适合现场部署后无人看管情况,断电后服务器启动后不用管理springboot服务,不用打开cmd,也不担心现场人员误操作关闭cmd窗口。
NULL 博文链接:https://jarg.iteye.com/blog/852885
Java写的五子棋程序 已经打成jar包 需要源码的可以联系我
Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解
windows运行jar包指定jdk路径的脚本文件。可以不用系统的jdk运行,指定某个文件下的jdk运行jar包
脚本上有备注,将java项目打为jar包后,替换jar的包名为项目包名即可,log文件会自动生成,方便好用。
将java程序打成jar包,并将其在windows和linux下定时执行的全过程,以及常见问题的提出和解释,有详细的图解。该java程序是一个从数据库a取得数据并将其插入到数据库b中。
主要介绍了Maven发布Jar包中文乱码解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java程序打成jar包后,通过配置,运行脚本注册为windows服务。后续可以在windows的服务里进行启动、重启、禁用、自启动操作。
用ANT将java程序打成jar包,只是简单实现单个程序的打包,整个java项目个人感觉还是eclipse好。
教你怎样把class文件打成jar包--用java命令打包
随机数生成器 Java写的已经打成JAR包 源码在jar包里放着 自己看
java代码的方式对java源码进行编译并打包成jar,从而实现对复杂java源码的快速编译并形成sdk包,提供给第三方友商使用!
java jar 打包成 exe,双击就可以运行 ,通过 javalaunch实现
可java工程打成可执行jar包 将java工程打成可执行jar包