There is a function in the project. Submitting via GET in IE will produce garbled code, but both entrances will use the same piece of code.
It cannot be transcoded directly, so it is necessary 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 How to determine whether the code is garbled in java. For more information, please follow other related articles on the PHP Chinese website!