java -jar启动程序后出现中文乱码

dos窗口输出的日志出现乱码,先在黑窗口执行下面命令,将控制台输出的编码改为utf8。

命令:chcp 65001

程序返回的数据出现乱码,运行jar包时指定编码为utf8,

如:java -Dfile.encoding=utf-8 -jar xxx.jar

运行jar包时更改开发环境的命令。

java -jar xxx.jar --spring.profiles.active=dev

### 解决方案 在 Windows 环境下运行 Java JAR 包时,如果控制台出现乱码问题,可以通过设置 `-Dfile.encoding=UTF-8` 参数来指定文件编码为 UTF-8。此参数的作用是覆盖 JVM 默认的字符集配置[^3]。 #### 设置方法 当通过命令行启动 JAR 文件时,可以按照以下格式添加参数: ```bash java -Dfile.encoding=UTF-8 -jar YourJarFile.jar ``` 上述命令会强制 JVM 使用 UTF-8 编码处理文件读取和写入操作,从而避免因默认编码不一致而导致的乱码问题[^4]。 需要注意的是,JVM 的默认字符集由操作系统区域设置决定。在某些情况下,即使设置了 `-Dfile.encoding=UTF-8`,仍然可能出现乱码现象。这通常是因为控制台本身的编码未被正确调整。因此,还需要进一步修改 Windows 控制台的代码页。 #### 修改控制台代码页 为了确保控制台能够正确显示 UTF-8 字符,可以在运行程序之前更改代码页到 65001(即 UTF-8)。执行以下命令即可完成切换: ```cmd chcp 65001 ``` 之后再运行带有 `-Dfile.encoding=UTF-8` 参数的 JAR 文件,应该能有效解决大部分乱码情况[^2]。 另外,在开发环境中如 Eclipse 下调试或运行项目时,由于其内部已经设定了 `file.encoding` 属性为 UTF-8,所以一般不会存在此类问题[^1]。 最后提醒一点,虽然指定了全局范围内的文件编码形式可以帮助消除许多常见的编码错误,但在实际应用过程中仍需注意数据源的具体编码方式,必要时候还需手动转换字符串编码以适应特定需求。 ```python import sys text = u'你好' if isinstance(text, unicode): text = text.encode('utf-8') print(text) ``` 以上脚本展示了如何将 Unicode 文本对象转义成适合传输给外部设备的形式——这里假设目标环境期望接收 UTF-8 序列作为输入。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值