在使用java -jar 命令时 指定编码
java -Dfile.encoding=utf-8 -jar xxx.jar
注意:在Windows系统上执行命令时,只能用cmd,不能用PowerShell,否则报错!!!
XTHS:
为什么要这么做的?主要应该是在服务器是采用GBK编码模式的,在我本地是UTF-8的是没有问题的,但是在服务器就有问题了。
String encodedAuth = java.util.Base64.getEncoder().encodeToString(auth.getBytes(StandardCharsets.UTF_8)); connection.setRequestProperty("Authorization", "Basic " + encodedAuth); Writer writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // String xmlRequest = getXML("[{vorna:\"2305226012\"},{vorna:\"2305226005\"}]"); String xmlRequest = getXML(userId); logger.info("xmlRequest="+xmlRequest); writer.write(xmlRequest); writer.flush(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String response = ""; String line = ""; while ((line = reader.readLine()) != null) { response += line + "\n"; }
主要调用上面的SAP接口时,如果是GBK编码运行jar包的话,总是出现乱码,
无论我怎么转换编码,都会出现这个错误。
只有用UTF-8 运行jar包的时候,才没有问题。
参考文章:【Java】java -jar 指定编码_jar包启动指定编码_ooooooooooooooxiaosu的博客-CSDN博客
标签:xmlRequest,编码,java,String,jar,固定,UTF From: https://www.cnblogs.com/wwssgg/p/17663166.html