需要在服务器端校验前台表单中传来的字符串,是否符合GB2312编码(所有字符都在GB2312字符集)。
import java.io.UnsupportedEncodingException;
public class EncodingValidationUtil {
/**
* 校验目标字符串中的字符是否均在GB2312字符集
* @param str
* @return
*/
public static boolean isGB2312(String str) {
if(str == null || "".equals(str)) return false;
String newStr = null;
try {
newStr = new String(str.getBytes("GB2312"), "GB2312");
} catch (UnsupportedEncodingException e) {
return false;
}
if(!str.equals(newStr)){
return false;
}
return true;
}
}
经校验:诸如“囧”一类的汉字会返回false,英文字母和常用汉字会返回true。