zoukankan      html  css  js  c++  java
  • ibatis 保存中文乱码有关问题解决方案

    转自:http://www.myexception.cn/software-architecture-design/736575.html

    遇到这样一个问题.数据库的编码和程序中的编码不一致.用默认的ibatis的编码方式获得的中文信息显示为乱码.有一个TypeHandlerCallback接口.使用这个接口可以完全处理你要做的转换了.这样中文再也不会显示为乱码.(项目中截取)

    public class StringTypeHandler implements TypeHandlerCallback {
        public Object getResult(ResultGetter getter) throws SQLException {
            String temp = "";
            try {
                if (getter.getObject() == null) {
                    return null;
                }
                temp = new String(getter.getString().getBytes("ISO8859_1"), "GBK");
            } catch (UnsupportedEncodingException e) {
            }
            return temp;
        }
    
        public void setParameter(ParameterSetter setter, Object value)
                throws SQLException {
            String s = (String) value;
            String gbkString;
            String temp = "";
            try {
                if (s != null && !"".equals(s)) {
                    gbkString = new String(s.getBytes("GBK"), "GBK");
                    if (gbkString.equals(s)) {
                        temp = new String(s.getBytes("GBK"), "ISO8859_1");
                    }else{
                        temp = new String(s.getBytes(), "ISO8859_1");
                    }
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            setter.setString(temp);
    
        }
    
        public Object valueOf(String value) {
            return value;
        }
    
    
    }



    在sqlMapConfig文件中加入如下代码就可以解决。

    <typeHandler jdbcType="VARCHAR" javaType="java.lang.String"
                         callback="com.abc.hxlw.util.StringTypeHandler"/>
  • 相关阅读:
    清北学堂 清北-Day1-R1-Count
    清北学堂 清北-Day1-R2-监听monitor
    LuoGu P2420 让我们异或吧
    Milk(sort+结构体)
    开门人和关门人(结构体+sort)
    python-神奇的下划线
    python-pathlib
    python-文本字符串
    python-闭包
    进制-Iterative-进制转换
  • 原文地址:https://www.cnblogs.com/summer520/p/3328325.html
Copyright © 2011-2022 走看看