当前位置:   article > 正文

服务器环境中文乱码问题(-Dfile.encoding=UTF-8解决)

-dfile.encoding=utf-8

        这个项目的中文乱码问题出现在调用第三方接口的时候,接口返回的数据带有中文。返回结果本地测试没问题,服务器(windows server 2008)上的中文则是乱码,但并不是全部乱码。我从结果上发现一个规律,如果中文字符串的长度是偶数,就不会有乱码;如果是奇数,则最后一个字是乱码(也有特殊情况,最后一个字和倒数第三个字是乱码的情况,但是基本都是长字符串)。下面是代码:

result.append(new String(ret.getBytes(), StandardCharsets.UTF_8));

        之后我在启动类里加了以下语句:

System.out.println(Charset.defaultCharset().name());

        发现本地环境打印的是UTF-8,服务器上打印的是GBK。我当时想造成部分乱码的原因是转换的时候丢数据了。但是不敢确认,也希望有人能解答一下,谢谢。

        最后,在服务器启动项目(jar包)时,加上标题所述的参数,再调用接口之后,发现问题已然解决。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/656194
推荐阅读
  

闽ICP备14008679号