IE で GET 経由で送信すると文字化けしたコードが生成されますが、両方の入り口で同じコードが使用されます
直接トランスコードできないため、判断して合格する必要があります値が文字化けしているかどうかは、次の方法で確認できます:
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(); } } }
Java 基本チュートリアル
を参照してください。カラム。以上がJavaで文字列が文字化けしているかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。