1.今天用php去调用jar出现乱码现象

需要对传递的中文字符进行编码之后再传递这里我用的是urlencode编码,让后java再解码就正常了

这里贴一下代码:

<?php
exec("export LANG='en_US.UTF-8';");
$cmd_str = urlencode("C:\\xampp\\htdocs\\java\\jar\\tetst_for_jacob.doc--安徽理工大学--xxx大学");
$cmd = '"C:\Program Files\Java\jdk1.8.0_181\bin\java.exe" -Dfile.encoding=utf-8 -jar "C:\xampp\htdocs\java\jar\replace_zhixie.jar" "'.$cmd_str.'"';

$res = trim(shell_exec($cmd));
var_dump($res);

/*{java.runtime.name=Java(TM) SE Runtime Environment,
sun.boot.library.path=C:\Program Files\Java\jre1.8.0_181\bin, java.vm.version=25.181-b13,
java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/,
path.separator=;, java.vm.name=Java HotSpot(TM) 64-Bit Server VM,
file.encoding.pkg=sun.io, user.country=CN, user.script=,
sun.java.launcher=SUN_STANDARD, sun.os.patch.level=,
java.vm.specification.name=Java Virtual Machine Specification, u
ser.dir=C:\java_word\replace_word_zhixie, java.runtime.version=1.8.0_181-b13,
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment,
java.endorsed.dirs=C:\Program Files\Java\jre1.8.0_181\lib\endorsed, os.arch=amd64,
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\2\, line.separator=
, java.vm.specification.vendor=Oracle Corporation,
user.variant=, os.name=Windows Server 2012 R2,
sun.jnu.encoding=GBK,
java.library.path=C:\Program Files\Java\jre1.8.0_181\bin;
C:\Windows\Sun\Java\bin;C:\Windows\system32;
C:\Windows;C:/Program Files/Java/jre1.8.0_181/bin/server;
C:/Program Files/Java/jre1.8.0_181/bin;C:/Program Files/Java/jre1.8.0_181/lib/amd64;
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.8.0_181\bin;
C:\xampp\php;C:\eclipse\eclipse;;., java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, os.version=6.3, user.home=C:\Users\Administrator, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=UTF-8, java.specification.version=1.8, java.class.path=C:\Program Files\Java\jre1.8.0_181\lib\resources.jar;C:\Program Files\Java\jre1.8.0_181\lib\rt.jar;C:\Program Files\Java\jre1.8.0_181\lib\jsse.jar;C:\Program Files\Java\jre1.8.0_181\lib\jce.jar;C:\Program Files\Java\jre1.8.0_181\lib\charsets.jar;C:\Program Files\Java\jre1.8.0_181\lib\jfr.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\cldrdata.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\dnsns.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\jaccess.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\jfxrt.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\localedata.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\nashorn.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\sunec.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\sunmscapi.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jre1.8.0_181\lib\ext\zipfs.jar;C:\java_word\replace_word_zhixie\bin;C:\java_word\replace_word_zhixie\lib\jacob.jar, user.name=Administrator, java.vm.specification.version=1.8, sun.java.command=replace_word_zhixie.replace_word_zhixie, java.home=C:\Program Files\Java\jre1.8.0_181, sun.arch.data.model=64, user.language=zh, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.8.0_181, java.ext.dirs=C:\Program Files\Java\jre1.8.0_181\lib\ext;C:\Windows\Sun\Java\lib\ext, sun.boot.class.path=C:\Program Files\Java\jre1.8.0_181\lib\resources.jar;C:\Program Files\Java\jre1.8.0_181\lib\rt.jar;C:\Program Files\Java\jre1.8.0_181\lib\sunrsasign.jar;C:\Program Files\Java\jre1.8.0_181\lib\jsse.jar;C:\Program Files\Java\jre1.8.0_181\lib\jce.jar;C:\Program Files\Java\jre1.8.0_181\lib\charsets.jar;C:\Program Files\Java\jre1.8.0_181\lib\jfr.jar;C:\Program Files\Java\jre1.8.0_181\classes, java.vendor=Oracle Corporation, file.separator=\, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=amd64}
*/

jar 接收utf-8字符乱码现象的更多相关文章

  1. JAVA的中文字符乱码问题

    来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...

  2. JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)

    JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原 ...

  3. 【已解决】python中文字符乱码(GB2312,GBK,GB18030相关的问题)

      http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ [已解决]python中文字符乱码(GB2312,GB ...

  4. windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题

    在windows平台下,使用系统的记事本以UTF-8编码格式存储了一个文本文件,但是由于Microsoft开发记事本的团队使用了一个非常怪异的行为来保存UTF-8编码的文件,它们自作聪明地在每个文件开 ...

  5. mysql字符乱码

    解决mysql字符乱码思路: mysql服务器字符集 mysql客户端字符集 系统字符集 生产环境改字符集: 1.导出表结构到 scam.sql文件中 2.更改scam.sql文件中的字符集为想要的字 ...

  6. oracle 字符乱码问题解决方案

    今天在客户服务器上遇到了oracle中文乱码问题,第一个想到的是:要想避免oracle字符乱码的问题,需要注意oracle客户端的字符编码和服务端的字符编码保持一致. 于是操作如下: 1.查看服务端字 ...

  7. Java_Web学习笔记_过滤器应用案例(解决全站字符乱码)

    解决全站字符乱码(POST和GET中文编码问题) servlet: l  POST:request.setCharacterEncoding(“utf-8”); l  GET: String user ...

  8. 如何彻底解决MySQL更改默认字符集以及字符乱码问题!!!

    在我们使用MySQL数据库时,字符乱码,对我们来说是一个很头疼的问题.今天笔者就来教大家如何彻底解决更改默认字符集以及字符乱码问题. 当我们使用压缩包进行MySQL安装后,系统会使用默认的字符集,这时 ...

  9. intellij idea pycharm phpstorm webstorm 使用 FiraCode 作为编程字体,更新后字符乱码问题解决

    先说使用下载 传送门 https://pan.baidu.com/s/1OI-novVYy-C74HIUfr9E6w windows: 1.下载后打开ttf文件夹,选择所有右键安装. 2.或者使用ch ...

随机推荐

  1. DEX: Deep EXpectation of apparent age from a single image 论文阅读

    来自:IMDB-WIKI - 500k+ face images with age and gender labels  https://data.vision.ee.ethz.ch/cvl/rrot ...

  2. CentOS7.5 安装MySQL8 tar

    1.查看是否安装mariadb 执行命令: [root@mysql ~]# rpm -qa | grep mariadb 显示: mariadb-libs-5.5.56-2.el7.x86_64 2. ...

  3. Linux DNS 服务器安装、配置和维护

    每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...

  4. excel安装wps后不能正常启动

    1. HKCU\Software\Microsoft\Office\15.0\Word\Options 设置NoReReg REG_DWORD =1 2.重命名C:\Program Files (x8 ...

  5. 更新 TeX Live 软件包

    这个 TeX Live 软件,你得时常更新一下,不然会遇到一些由软件包自身 Bug 导致的编译问题.比如,这次我使用 Beamer 软件包写演示文稿,就遇到问题了,结果发现是软件包自身存在的问题.安装 ...

  6. ObjectARX2012+ObjectARX Wizards2012+AutoCAD2012+MVS2008 环境配置

    1  版本选择 ObjectARX本身采用的MVS编译平台,因此选择ObjectARX的编译平台作为二次开发的平台,兼容性最好,当然别的平台也不是一定不可以.目前已知的对应关系如下: R15   -- ...

  7. win10 vs2015源码编译tesseract4.0

    1.安装软件 cmake  下载地址 cppan   下载地址 安装完毕后,需要将cmake.exe和cppan.exe加入环境变量PATH中 cmake简介 CMake全称为“cross platf ...

  8. vue 路由参数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 卸载npm

    npm uninstall npm -g yum remove nodejs npm -y

  10. mysql 下的update select from的两种方式比较

    工作中遇到需要将一个表中的数据按照对应规则填入别的表中的情况 例如 表1 a a1    a2 11     90889 32     31241 12     52123 表2 b b1     b ...