博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle数据库字符集US7ASCII,在java中处理中文问题
阅读量:6322 次
发布时间:2019-06-22

本文共 1470 字,大约阅读时间需要 4 分钟。

原来项目中oracle数据库一直是US7ASCII,我新项目对接的时候,查询以及插入中文,出现乱码问题。

暂时未能解决此问题,最终决定每次转码:

查询的时候:

1 List
list = Db.use("oracle").find("select * from order order by id desc");2 for (Record record : list) {3 String str = record.getStr("department");4 String ss = "";5 if(str!=null)6 ss = ArticleUtil.convert(str,"gbk");7 record.set("department",ss );8 }

关于转码的操作:

1 public static String convert(String str,String charsetName){2         String result = "未识别";3         try {4             result = new String(str.getBytes("ISO-8859-1"),charsetName);5         } catch (UnsupportedEncodingException e) {6             e.printStackTrace();7         }8         return result;9     }

插入和更新的时候,处理中文:

public void testSave(){        String username = getPara("username");        String password = getPara("password");        String department = getPara("department");        try {            department=new String(department.getBytes("gbk"),"iso-8859-1");        } catch (UnsupportedEncodingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        Record r = new Record().set("department",department)                .set("username",username).set("password",password);        Db.use("oracle").save("user", r);        renderJson();    }

也就是说,当读取的时候,从数据中得到中文字符,然后以iso-8859-1 encode,再以gbk decode来正确显示中文,

当写入的时候,需要将中文字符 以gbk encode,再以iso-8859-1 decode,写入数据库。

转载地址:http://udvaa.baihongyu.com/

你可能感兴趣的文章
poj1035Spell checker
查看>>
微信程序开发
查看>>
如何退出minicom【学习笔记】
查看>>
Sqlserver 数据库基本查询
查看>>
图书馆维护系统总结
查看>>
[hadoop源码阅读][5]-counter的使用和默认counter的含义
查看>>
SAP HUM 如何对一个HU做上架?
查看>>
LINUX系统中动态链接库的创建与使用{补充}
查看>>
三维视觉国际会议首度在中国举办
查看>>
达索系统入手XFlow开发商 强化3DEXPERIENCE平台的仿真能力
查看>>
Loadrunner 性能测试服务器监控指标
查看>>
自动化运维工具之ansible
查看>>
memcached的安装
查看>>
freebsd系统安装
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
JavaScript函数eval()
查看>>
Linux LTP 测试框架
查看>>
log4j 每次运行生成文件
查看>>
“经常加班”有误区
查看>>