JSP要求トランスコード
Jspで汎用トランスコードを要求する方法:
/**
* getBytes(encoding): byte <br>
* b[0] 63 , <br>
* A、 :<br>
* 1、encoding GB2312 , byte ;<br>
* 2、encoding ISO8859_1 ,b[i] 63。<br>
* B、 : <br>
* 1、encoding ISO8859_1 , byte ;<br>
* 2、encoding GB2312 ,b[i] 63。<br>
* C、 <br>
* 1、encoding ISO8859_1 GB2312 , byte 0;
* <p/>
* : , getBytes("iso8859_1") <br>
* 1、 b[i] 63, ; A-2 <br>
* 2、 b[i] 0, , ; B-1 <br>
* 3、 b[i] 0 , , 。 C-1
*/
public static String getToGBK(String str) {
if (StringUtils.isBlank(str))
return str;
String retStr = str;
byte b[];
try {
b = str.getBytes("ISO-8859-1");
for (int i = 0; i < b.length; i++) {
byte b1 = b[i];
if (b1 == 63)
break; // 1
else if (b1 > 0)
continue;// 2
else if (b1 < 0) { // 0,0
retStr = new String(b, "utf-8");
break;
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return retStr;
}