专栏首页Ryan Miaooracle数据库字符集US7ASCII,在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,写入数据库。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java中String的相等比较

    首先贴出测试用例: ? 1 package test; 2 3 import org.junit.Test; 4 5 /** 6 * Crea...

    Ryan-Miao
  • Java String.split()用法小结

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必...

    Ryan-Miao
  • 在Springmvc中获取properties属性

    一些关键的属性一般都会拿出来作为配置,比如数据库连接等。在springmvc中也提供了获取property的类,比如@Value来获取。我接触spring很浅,...

    Ryan-Miao
  • 接口的编写与测试

    https://wap.ztestin.com/site/register?usercode=FAAAQwMQGAAXAwQBA3QhExcDHAQDPjVaA...

    小老鼠
  • bootstrap fileinput 使用记录

    多出个上传按钮,图片也会多几个按钮,我选择了删除和放大图片的按钮,还可以显示图片单独上传按钮,这里我把它去掉了,统一在下方点击上传时,全部上传。==这里重点说下...

    老梁
  • Java源码系列(4):String[]和List<String>的区别及相互转换

    Hello,everybody。好几天不见啦,原因是我家丽颖结婚了,打击太大,让我缓缓(emmmmmm,我才不会告诉你们是因为我懒)。咱今天说的是String[...

    陈琛
  • List集合分组实现教程

    封装一个方法,用一个Map来实现,这里是根据bean类的seq字段进行拆分的,分成好几个list

    用户1208223
  • String性能提升10倍的几个方法!(源码+原理分析)

    String 类型是我们使用最频繁的数据类型,没有之一。那么提高 String 的运行效率,无疑是提升程序性能的最佳手段。

    Java中文社群_老王
  • PHP汉字转拼音函数

    <?php function Pinyin($_String, $_Code='UTF8'){ //GBK页面可改为gb2312,其他随意填写为UTF8 ...

    joshua317
  • 文字识别调用API(JAVA)

    _12291_721

扫码关注云+社区

领取腾讯云代金券