今天发现了一个问题,就是我的.sql文件是utf-8格式的但是经过一个内置的.class文件运行之后就变成了中文乱码的
如图,我怀疑是编码格式不一致引起的,我想着将他的编码格式变一下就想着要知道之前的编码格式就写了如下代码,如图
try {
sql=new String(sql.getBytes("ISO-8859-1"),"utf-8");
String encode = "GB2312";
if (sql.equals(new String(sql.getBytes(encode), encode))) {
String s = encode;
System.out.println(s);
}
encode = "ISO-8859-1";
if (sql.equals(new String(sql.getBytes(encode), encode))) {
String s1 = encode;
System.out.println(s1);
}
encode = "UTF-8";
if (sql.equals(new String(sql.getBytes(encode), encode))) {
String s2 = encode;
System.out.println(s2);
}
encode = "GBK";
if (sql.equals(new String(sql.getBytes(encode), encode))) {
String s3 = encode;
System.out.println(s3);
}
System.out.println(sql);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
发现出来之后是utf-8的格式,很有可能是中间执行的时候出现了编码格式的问题,这时候想着改变一下weblogic的编码格式,经过好久才修改正确将weblogic的编码格式改成了utf8,更改如下图:
之后发现weblogic服务器是编码格式改过来了,但是发现运行时出现乱码还是,不知道是哪里出现了问题,最后就将.sql文件使用文本文件打开后选择左上角的文件另存为选择格式为ANSI格式然后替换myeclipse中的.sql文件,发现在eclipse中乱码,但是执行的结果是没有问题的。