是,是,大家都是帮忙解决问题,就事论事,不涉及其他方面。 对各位表示感谢。 说明我的数据库字符集用的是 SQL> select * from v$nls_parameters;PARAMETER VALUE ---------------------------------------------------------------- ------------------------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_CHARACTERSET WE8ISO8859P1 NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM NLS_DUAL_CURRENCY $ NLS_NCHAR_CHARACTERSET WE8ISO8859P1 NLS_COMP BINARY
hotenM,我用了你说的中文转化后 String sql = new String("update cn_r_sertype set name='VGCS紧急应用' where sertype=1".getBytes("iso-8859-1"),"gb2312"); 查看数据不是乱码,但中文都变成???了,怎么回事儿? 有解决的办法吗?
hotenM,谢谢你,在你的指点下已经解决, 尝试了几次,正确的是: String sql = new String("update cn_r_sertype set name='VGCS紧急应用' where sertype=1".getBytes(),("iso-8859-1");
insert into cn_r_sertype (instanceid, bureauno, SERTYPE
, NAME, SERPRIORITY)
select instanceid, bureauno, SERTYPE
, '高费率呼叫', SERPRIORITY from cn_r_sertype2 where SERTYPE = 4;
长度也没问题,因为sqlplus中执行没问题的。
我用的是statement stmt;
stmt.execute(sql)
应该和resultset没关系,我也不要返回值
String sql = new String("update cn_r_sertype set name='VGCS紧急应用' where sertype=1".getBytes("iso-8859-1"),"gb2312");转一下,就可以了
但是为什么sqlplus插进去的汉字就不是乱码呢?
有什么好办法jdbc执行sql脚本时,自动转换中文集呢?
谢谢先,等待中
对各位表示感谢。
说明我的数据库字符集用的是
SQL> select * from v$nls_parameters;PARAMETER VALUE
---------------------------------------------------------------- -------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET WE8ISO8859P1
NLS_COMP BINARY
如何判别string中存在中文?这样我好程序去控制自动转换,谢谢!
String sql = new String("update cn_r_sertype set name='VGCS紧急应用' where sertype=1".getBytes("iso-8859-1"),"gb2312");
查看数据不是乱码,但中文都变成???了,怎么回事儿?
有解决的办法吗?
尝试了几次,正确的是:
String sql = new String("update cn_r_sertype set name='VGCS紧急应用' where sertype=1".getBytes(),("iso-8859-1");