我在进行编码转换以后new String(str.getBytes(),'UTF-8');如何确定编码已经转换成功???

解决方案 »

  1.   

    如果没有CharConversionException抛出,转码成功。String类的String(byte bytes[], String charsetName)构造方法调用的是
    String(byte bytes[], int offset, int length, String charsetName)构造方法,
    而在后者中的编码操作调用的是StringCoding类的
    decode(charsetName, bytes, offset, length)方法,
    在该方法中,使用内部类StringDecoder的decode(byte[] ba, int off, int len)方法进行转码,会抛出CharConversionException异常。在JSP中:
    <%String encoding = request.getCharacterEncoding();%>
    <%=encoding%>
    即可输出采用的编码名称。