1.数据库中 保存“王䬅 ”
**处理方法:需要把文字转出unioncode **
/**
* 字符串转换unicode
*/
public static String string2Unicode(String string) {
StringBuffer unicode = new StringBuffer();
for (int i = 0; i < string.length(); i++) {
// 取出每一个字符
char c = string.charAt(i);
if (c < 0x20 || c > 0x7E) {
// 转换为unicode
String tmp = Integer.toHexString(c);
if (tmp.length() >= 4) {
unicode.append(Integer.toHexString(c));
} else if (tmp.length() == 3) {
unicode.append("0" + Integer.toHexString(c));
} else if (tmp.length() == 2) {
unicode.append("00" + Integer.toHexString(c));
} else if (tmp.length() == 1) {
unicode.append("000" + Integer.toHexString(c));
} else if (tmp.length() == 3) {
unicode.append("0000");
}
} else {
unicode.append(c);
}
}
return unicode.toString();
}
2.保存语句中拼接:utl_raw.cast_to_nvarchar2(‘unioncode’)
unioncode :就是执行上面方法输出的值 String unioncode = this.string2Unicode(“王䬅”);
insert into table(name) values(utl_raw.cast_to_nvarchar2(‘unioncode’))