在之前的项目凡是编码都设置为UTF-8,但是这个项目时我接手的二手项目,不知道项目的编码具体是怎么用的。所以呢,一测试就乱码,乱码我先想到的是这个中文字符采用的是什么编码呢?在网上找了一段这样的逻辑(也不知道对不对,因为我最终的解决方法没有用上)把代码贴出给大家看看吧!
public static String getEncoding(String str) { String encode = "ISO-8859-1"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s = encode; return s; } } catch (Exception exception) { } encode = "GB2312"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s1 = encode; return s1; } } catch (Exception exception1) { } encode = "GBK"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s2 = encode; return s2; } } catch (Exception exception2) { } encode = "UTF-8"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s3 = encode; return s3; } } catch (Exception exception3) { } return ""; }通过这个代码,我测的是我的中文采用的GB2312,然后我通过三四种转码方式都没有实现,最后我想到了浏览器的编码。我用的是火狐,我把火狐浏览器的编码设置为自动检测,然后乱码解决了!怎么将火狐的编码设置为自动检测呢?
1、先看浏览器最上面的菜单栏,如图:
如果你没有出现这些菜单栏的话,按alt键就会出现。然后 查看----字符编码------自动检测---------自动选择。如图:
这样火狐会根据你的编码自动选择。乱码解决!!
原文:http://blog.csdn.net/zl544434558/article/details/19401821