idea文件的编码设置,解决中文编码不一致问题,对RSA验签及文本比较的测试方法
代码语言:javascript代码运行次数:0运行复制String reqContent = "abcdef中文"; //new String("abcdefee".getBytes()," GBK ");
System.out.println("reqContent="+ reqContent);
String reqContentTest = new String("abcdef中文".getBytes("GBK"));
System.out.println("reqContentTest="+ reqContentTest);
System.out.println("file.encoding是否一致=" + reqContent.equals(reqContentTest));
String reqContent2Md5 = MD5.MD5Encode(reqContent);
String reqContent3Md5 = MD5.MD5Encode(reqContentTest);
System.out.println("reqContent2Md5="+ reqContent2Md5);
System.out.println("reqContent3Md5="+ reqContent3Md5);
System.out.println("file.encoding是否一致md5=" + reqContent2Md5.equals(reqContent3Md5));
String reqContent2 = new String("abcdef中文".getBytes("UTF-8"));
String reqContent3 = new String("abcdef中文".getBytes("GBK"));
System.out.println("是否一致=" + reqContent2.equals(reqContent3));
代码语言:javascript代码运行次数:0运行复制输出结果:
reqContent=abcdef���� reqContentTest=abcdef���� file.encoding�Ƿ�һ��=true reqContent2Md5=5d325b0b0bb2a931a6c9c213bf3d6965 reqContent3Md5=5d325b0b0bb2a931a6c9c213bf3d6965 file.encoding�Ƿ�һ��md5=true
以上仅仅测试的是GBK编码,实际idea设置的是UTF-8编码。
如果idea未设置默认是GBK编码,而文件是UTF-8编码,所以编码不一致的情况,会出现RSA验签等问题,因为单单从打印出来的文字来看很难发现,
可以通过字符比较和MD5的方式来比较是否一致,从而发现是否是编码问题。
代码语言:javascript代码运行次数:0运行复制* 在VM Options里面加上 -Dfile.encoding=UTF-8 并应用
* 以上更改后, 控制台输出会乱码, 还需要将IDEA的启动环境也配成UTF-8, 在IDEA安装目录下, 打开 idea64.exe.vmoptions , 最后一行加上 -Dfile.encoding=UTF-8
发布者:admin,转转请注明出处:http://www.yc00.com/web/1754984957a5224131.html
评论列表(0条)