需要对字符串进行加密,写好了,发现结果跟预期不一样:
字符串已经硬写到 java 文件中了,在 WEB 服务下自动变成 gbk 编码的,在 Application 下就是 utf-8 编码。
比如“周杰伦”这个字符串,
输出 "周杰伦".getBytes();
WEB 下是 -42 -36 -67 -36 -62 -41
Application -27 -111 -88 -26 -99 -80 -28 -68 -90
看 byte 个数基本都能猜出是什么编码了,一转码一看还真是有问题。
我已经把能调成 utf-8 的全调成 utf-8 了,还是不对,真是要崩溃了,要是数据库, springmvc 啥的乱码还好说,这个完全不知道咋回事。
编辑器是 IDEA 2016.3 , spring4.3.6 , tomcat8 ,两个模式下环境一模一样。
java 文件用别的编辑器看也是 utf-8 编码, class 用 IDEA 和 jd-gui 看也是很正常,也没有乱码。
不知到要把锅甩给谁了, Spring ? IDE ?
有环境的兄弟帮忙运行看一下有没有问题,看是不是我的锅
System.out.println(new String(new byte[]{-27, -111, -88, -26, -99, -80, -28, -68, -90}));
System.out.println(new String(new byte[]{-42,-36,-67,-36,-62,-41}));
字符串已经硬写到 java 文件中了,在 WEB 服务下自动变成 gbk 编码的,在 Application 下就是 utf-8 编码。
比如“周杰伦”这个字符串,
输出 "周杰伦".getBytes();
WEB 下是 -42 -36 -67 -36 -62 -41
Application -27 -111 -88 -26 -99 -80 -28 -68 -90
看 byte 个数基本都能猜出是什么编码了,一转码一看还真是有问题。
我已经把能调成 utf-8 的全调成 utf-8 了,还是不对,真是要崩溃了,要是数据库, springmvc 啥的乱码还好说,这个完全不知道咋回事。
编辑器是 IDEA 2016.3 , spring4.3.6 , tomcat8 ,两个模式下环境一模一样。
java 文件用别的编辑器看也是 utf-8 编码, class 用 IDEA 和 jd-gui 看也是很正常,也没有乱码。
不知到要把锅甩给谁了, Spring ? IDE ?
有环境的兄弟帮忙运行看一下有没有问题,看是不是我的锅
System.out.println(new String(new byte[]{-27, -111, -88, -26, -99, -80, -28, -68, -90}));
System.out.println(new String(new byte[]{-42,-36,-67,-36,-62,-41}));