当前位置 : 主页 > 编程语言 > java >

执行jar包

来源:互联网 收集:自由互联 发布时间:2021-06-28
执行jar包 java -Dfile.encoding=GB2312 -jar xxx.jar //乱码问题java -Dfile.encoding=utf-8 -jar xxx.jar -Duser.timezone=GMT+08 //时区问题,GMT默认0时区,北京GMT+8,即Asia/Shanghai ,...混入,捂脸/home/weblogic/lbz/ly
执行jar包
java  -Dfile.encoding=GB2312 -jar xxx.jar  //乱码问题
java  -Dfile.encoding=utf-8 -jar xxx.jar
 -Duser.timezone=GMT+08  //时区问题,GMT默认0时区,北京GMT+8,即Asia/Shanghai ,...混入,捂脸
/home/weblogic/lbz/ly/java -Dfile.encoding=utf-8 -jar xxx.jar


乱码可能原因:
可能一:Linux系统没有安装中文语言包,造成乱码;
可能二:一直使用SSH Secure Shell Client,该软件是免费的SSH远程登录软件。缺点是使用本地编码,
       比如windows是GBK,那么登录就是通过GBK连接,这样如果服务器编码是UTF-8,会产生中文乱码
可能三:这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,Windows中文版的编码是非UTF-8。
       zh_CN.UTF-8是UTF编码的中文语言环境。 Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题;现有几种解决方案:
        方案一:修改linux服务器的环境变量
        方案二:或使用其他远程登陆软件,并修改配置,将字符编码设置为UTF-8。
可能四:你是用的ssh到linux去执行编译的吧,这个ssh客户端也是有编码指定的,应该是你的这个编码和系统不一致导致的。如果你在编译的时候不指定编码的话,生成的文件名应该有问题吧。

SSH登录及SFTP文件图形界面传输,推荐使用xshell、SecureCRT.EXE、putty.exe、SSH Secure Shell Client等
(按使用人次顺序排列)FileZilla32_v3.29.0-rc1.exe(文件图形页面传输工具)

解决办法:修改代码(一切问题都可通过修改代码完成)
//获取当前系统环境编码格式的属性属性(shell输出乱码 和 文件名乱码 与这个属性有关)
static String charsetName = System.getProperty("sun.jnu.encoding");//文件名是否乱码 
static String encoding = System.getProperty("file.encoding");  //文件内容是否乱码 

str = new String(str.getBytes(), charsetName);
str = new String(str.getBytes(), encoding);
str = new String(str.getBytes("utf-8"), charsetName);
上一篇:HttpClient 请求
下一篇:Hello
网友评论