Java 应用打包后运行需要注意编码问题
这里有新鲜出炉的 Java 并发编程示例, 程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 Java 应用打包后运行需要注意编码问题的相关资料, 需要的朋友可以参考下
最近在做一个项目, 项目总的来说就是和数据库打交道, 取出数据来通过 HTTP 协议提交到一个接口上去具体功能不多说了, 只是讲这里面的一点编码问题
项目当中, 涉及到取所有数据的 MD5 值
在 Java 项目中, 个人喜欢将项目的默认编码改为 UTF-8 使用的开发工具以 Eclipse 为主然而, 奇怪的问题出现了当我在 IDE 中对项目进行调试的时候没有任何问题, 但是打成了 jar 包后再通过
java - jar project.jar
运行的时候, 每次提交数据, 接口都会返回数据说我的签名不正确换句话说就是我的最后一步, 做 MD5 运算的时候出了问题
为什么打了 jar 包就不行呢? 几经波折, 又是查看参数的 hashCode, 又是检查所有提交内容的十六进制数据, 发现是文本编码出了问题在 Eclipse 中是正确的, 但是打出 jar 包后, 启动命令行一直没设置字符串默认编码, 因此 java 虚拟机就按照所在系统的默认编码运行了我使用的是 Windows 环境, 那么自然是 GBK 编码
后来通过查阅资料, 解决的办法就是加一个参数指定编码:
java - Dfile.encoding = utf - 8 - jar project.jar
这样就可以了工具正常运行了
来源: http://www.phperz.com/article/18/0207/359182.html