Submitting via GET in IE will produce garbled code, but both entrances will use the same code
It cannot be transcoded directly, so it needs to be judged and passed on. Whether the 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 a string is garbled in java. For more information, please follow other related articles on the PHP Chinese website!