前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle数据库字符集US7ASCII,在java中处理中文问题

oracle数据库字符集US7ASCII,在java中处理中文问题

作者头像
Ryan-Miao
发布2018-03-13 11:48:36
2.7K0
发布2018-03-13 11:48:36
举报
文章被收录于专栏:Ryan MiaoRyan Miao

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

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

查询的时候:

代码语言:javascript
复制
1 List<Record> 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         }

关于转码的操作:

代码语言:javascript
复制
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     }

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

代码语言:javascript
复制
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,写入数据库。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档