`

java打成jar包,在windows上运行出现乱码

 
阅读更多

今天做项目的时候遇到一个很头疼的问题——无论在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

 

分享到:
评论

相关推荐

    font.jar字体jar包用于解决中文乱码问题

    使用jasper版本为6.2.1,字体文件包直接导入项目中可以解决在Linux环境部署时中文乱码问题

    ofdrw .ofd 转 .pdf 所需要的jar包,不是maven项目的看过来.rar

    在标题和描述中提到的"ofdrw .ofd 转 .pdf 所需要的jar包,不是maven项目的看过来.rar",这表明这个压缩包包含了一组Java库(jar包),用于非Maven项目中将OFD文件转换为PDF。 首先,我们需要理解什么是OFD和PDF。...

    Java应用打包后运行需要注意编码问题

    然而,当Java应用程序被打成jar包并用`java -jar`命令行工具运行时,如果没有明确指定编码,Java虚拟机(JVM)会采用操作系统的默认编码,比如Windows环境下的GBK编码。 在上述问题中,开发者遇到的就是这种情况。...

    AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法

    在Android开发过程中,有时我们需要将一个模块打包成JAR库,以便在其他项目中复用。本篇文章将详细讲解如何在Android Studio 3.6.1和4.0版本中解决打包JAR的问题以及相关步骤。 首先,在Android Studio 3.6.1中打包...

    解决idea使用maven编译正常但是运行项目时却提示很多jar包找不到的问题

    使用IDEA和Maven可以方便地进行项目开发和管理 HOWEVER,有时在使用IDEA和Maven进行项目编译和运行时,却会出现一些问题,本文将详细介绍解决IDEA使用Maven编译正常但是运行项目时却提示很多jar包找不到的问题。...

    使用java实现,通过zpl指令调用 zebra打印机打印标签,含二维码及中文

    在描述中提到的"demo"中,可能包含了一个完整的Java项目,这个项目已经解决了中文打印和二维码中出现中文乱码的问题。这通常涉及到以下几个关键步骤: 1. **第三方库和JAR包**:为了在Java中处理ZPL指令和打印任务...

    Base64 用到的jar包

    在实际开发中,Base64编码常用于在网络上传输图片、证书、密码等敏感信息,或者在存储二进制数据时避免文件的乱码问题。 总的来说,这个jar包是Java编程中进行Base64操作的重要工具,特别是对于那些需要兼容早期...

    Java解决Itext pdf中文不显示问题

    然而,当处理中文字符时,Itext可能会出现不显示或者显示乱码的问题。这个问题主要是由于PDF编码格式与Java字符串编码不匹配导致的。下面将详细介绍如何解决Java中Itext PDF中文不显示的问题。 首先,我们需要理解...

    html2pdf你要的jar

    在处理中文和其他亚洲语言时,`itext-asian-5.2.0.jar`的作用尤其关键,因为它提供了对东亚字符集的支持,确保文字能正确显示,避免乱码问题。此外,还需要注意PDF的兼容性和跨平台性,以及在处理大量数据时的性能...

    java后端实现html转pdf的工具类,pd4ml

    2. **中文支持**:提到的3100pro版本特别强调了对中文的支持,这意味着它内建了对中文字符集的处理,可以确保中文内容在转换过程中不会出现乱码问题。 3. **无水印**:提供的jar包是无水印版本,这意味着生成的PDF...

    Base64及oracle11g的jar.zip

    而Base64是一种编码方式,常用于在网络上传输二进制数据,将其转换为ASCII字符形式,以避免传输过程中的乱码问题。 `Base64`是一种基于64个可打印字符来表示二进制数据的编码方法。这64个字符包括大小写字母、数字...

    jasper 4.1 包

    开发者可以使用这个库来设计复杂的报表模板,并在运行时动态填充数据。 jasperReports支持通过JDBC连接各种数据库,因此lib文件夹可能还包括了对不同数据库驱动的依赖,例如MySQL、Oracle、PostgreSQL等。此外,...

    OfficToPdf

    在Java开发中,jar包是Java Archive的简称,通常包含了编译好的Java类和其他资源,供开发者在项目中引用。用户可以将这个officToPdf.jar包导入到自己的Java项目中,通过调用相应的API来实现Office到PDF的转换。 总...

    SLF4j中文使用手册

    Java编译器在底层将方法中的可变参数转换成Object[],因此用户在升级SLF4J到1.7.x版本时无需担心兼容性问题。 从1.7.5版本开始,SLF4J的性能有了显著提升,尤其是日志的检索时间。1.7.9版本之后,通过设置系统属性...

    Java实现BASE64编码和解码的方法

    编码和解码是计算机网络通信中的基本操作,尤其是在需要将二进制数据转换成文本数据进行传输时,BASE64编码起着非常重要的作用。 BASE64是一种基于64个可打印字符来表示二进制数据的表示方法。由于网络传输或文本...

    JAVA 范例大全 光盘 资源

    常见问题 读取Properties文件出现中文乱码 182 第9章 Java异常处理与反射机制 183 实例73 运用throws、throw、try与catch 183 实例74 throws声明异常的实例 185 实例75 自定义异常类 187 实例76 使用finally...

    PDFbox IcePdf pdf转图片

    PDFbox和IcePdf是两个在Java环境中处理PDF文档的开源库。它们提供了丰富的API和功能,使得开发者可以方便地对PDF进行操作,如读取、创建、编辑以及将PDF转换为其他格式,如图片。本篇文章将深入探讨这两个库如何实现...

    jsp转pdf项目示例

    项目声明jar包已经包含在内,用户无需额外下载,这简化了项目的部署和运行。 5. **PDF生成逻辑**:转换过程可能包括解析HTML或JSP内容,渲染页面布局,应用CSS样式,以及处理图像和超链接等元素。项目可能封装了...

    jsp 文件上传下载

    描述中提到"java文件已打成jar包引用",意味着开发者可能已经将Java代码打包成了一个.jar文件,这个文件包含了处理文件上传和下载的核心逻辑。这样做可以方便地在多个项目中复用这些功能,同时保持代码的整洁。"do_...

    txt 转换成 pdf 所需要的夹包

    在IT领域,转换文本文件格式是一项常见的任务,例如将纯文本的`.txt`文件转换成更便于阅读和打印的`.pdf`文档。本压缩包文件提供了实现这一转换所需的关键库,包括`itext`、`jxl`和`itextAsian`。下面将详细介绍这三...

Global site tag (gtag.js) - Google Analytics