没有UTF-8这种编码,给你解决地代码:
private static final String inCode = "ISO-8859-1";
private static final String outCode = "gb2312"; /**
* 转换字符串编码ISO-8859-1为gb2312
* <div>到数据库时用readString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String readString(String inputString){
try {
byte[] tempByte = inputString.getBytes(inCode);
inputString = new String(tempByte,outCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
}
} /**
* 转换字符串编码gb2312为ISO-8859-1
* <div>显示的时候用writeString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String writeString(String inputString){
try {
byte[] tempByte = inputString.getBytes(outCode);
inputString = new String(tempByte,inCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
} }
private static final String inCode = "ISO-8859-1";
private static final String outCode = "gb2312"; /**
* 转换字符串编码ISO-8859-1为gb2312
* <div>到数据库时用readString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String readString(String inputString){
try {
byte[] tempByte = inputString.getBytes(inCode);
inputString = new String(tempByte,outCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
}
} /**
* 转换字符串编码gb2312为ISO-8859-1
* <div>显示的时候用writeString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String writeString(String inputString){
try {
byte[] tempByte = inputString.getBytes(outCode);
inputString = new String(tempByte,inCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
} }
对其他语言的用一个值位于128-256之间的字节开始,再加后面紧跟的2个字节表示,一个字符一共是3个字节;
因此,在应用中程序处理过程中所有字符都是16位(双字节),但在存取转换成字节流时使用UTF-8格式转换,对于英文字符来说和原来用ASCII方式存取时相比大小仍然是一样的,而对中文来说和原来的GB2312编码方式相比,大小为:(3字节/2字节)=1.5倍
换成GB2312也是不行的,编译错误为
“unhandled exception type UnsupportedEncodingException”
再说,UTF-8编码是有的
还有就是这个错误题是,已经很明确了!哎!!!!