zoukankan      html  css  js  c++  java
  • oracle数据库字符集US7ASCII,在java中处理中文问题

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

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

    查询的时候:

    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         }

    关于转码的操作:

    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,写入数据库。

  • 相关阅读:
    使用图形化界面打包自己的类库
    搭建自己的NuGet服务器,上传自定义NuGet包
    在内部架设NuGet服务器
    Prism简介
    Nhibernate Icreteria 分页查询
    uDig介绍
    基于Geoserver配置多图层地图以及利用uDig来进行样式配置
    如何在GeoServer上发布一张地图
    XML的SelectNodes使用方法以及XPath
    coded ui run in interactive mode
  • 原文地址:https://www.cnblogs.com/woshimrf/p/4775501.html
Copyright © 2011-2022 走看看