There is a function in the project that will produce garbled code when submitted in GET mode in IE, but there are two entrances that will use the same piece of code
It cannot be directly transcoded, so To determine whether the passed value is garbled
can be verified in the following ways:
java.nio.charset.Charset.forName("GBK").newEncoder().canEncode("测试") //判断是不是GBK编码 即是否乱码
//使用request.getQueryString()获取通过URL传过来的值 有可能是乱码 如:q=éæ¥ String s = request.getQueryString(); if(s!=null){ if(!(java.nio.charset.Charset.forName("GBK").newEncoder().canEncode(s))){ try { s = new String(request.getQueryString().getBytes("ISO-8859-1"),"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
For more java knowledge, please pay attention to the java basic tutorial column.
The above is the detailed content of Introduction to the method of determining whether a string is garbled in java. For more information, please follow other related articles on the PHP Chinese website!