统一编码后还是报错,发现oracle 数据库中存在全角字符
找含有全角的字符字段
select * from table where lengthb(field_name)<> lengthb(TO_SINGLE_BYTE(field_name))
更新为半角
update table set field_name=TO_SINGLE_BYTE(field_name) where lengthb(field_name)<> lengthb(TO_SINGLE_BYTE(field_name))