关于取数据库数据乱码的问题 我用的是jsp + tomcat + oracle9,用rs.getString("字段名")取数据库的内容,字段类型是varchar的可以正常取出中文,类型是char的取出时乱码,请高手帮忙指导下,万分感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在数据库连接 上面 设置:eg:jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=UTF-8 希望对你有帮助 我看到网上都这么说,可是我的数据库连接是下面这样的,这个设置应该加在哪?<%@ page import="java.sql.*"%> <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@192.2.2.2:1521:XXX"; String user="******8"; String password="******8"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 1,编码一致2,char长度是受限制的,是不是正好读到中文字符的一部分了,没有读全 在 String url="jdbc:oracle:thin:@192.2.2.2:1521:XXX"设置 类似jdbc:mysql://localhost:3306/shop?useUnicode=true&amp;characterEncoding=UTF-8 数据库里的数据时乱码不?连接数据库是否指定了编码?请求的时候是否指定了编码过滤器或request response是否设置了charactorcoding?页面显示是否指定了对应的编码? 我链接数据库和取数据均用的gb2312编码啊,至于为什么汉字用char字段,因为我是用别人的表,具体为啥我也不知道啊,我需要的是把他数据库里的数据取出来 String temp = new String(从数据库中取出的数据.getBytes("ISO-8859-1"),"GB2312");或者String temp = new String(从数据库中取出的数据.getBytes("utf8"),"GB2312");或者String temp = new String(从数据库中取出的数据.getBytes(),"GB2312");转换编码试试. 我觉得 环境里 统一 全用 UTF-8 现在问题解决了,我把原表做了个视图,将char字段均trim()一下,然后就能正常取中文了,这种方法有点曲线救国的意思,但是总归好用,发上来分享下,希望对别人有用!(我这个是不需要修改数据,所以直接取视图内容就可以,如果需要修改数据,可以先取主键再更新,只是个人见解,觉得麻烦可以另寻方法,呵呵) 求助:在火狐下select控件上的双击事件怎么触发不了,IE要可以 悲剧的程序员! 高分求购: 信息系统软件投标书模板 初學Struts,有點問題,大家看看,在頁面上輸入一個姓名,然後返回到該頁面 如何做个打印类,快速调试. 系統交付發布過程中的tomcat問題 href="#"什么意思? struts2的拦截器 实现原理 关于中文文件名下载问题 老大,jb7如何编译单独的java文件? 后台Action怎么取到层里面的值? css布局的时候,footer那块总部在最下面 老跑到main那块?谢谢大家来指点一下呃
jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=UTF-8 希望对你有帮助
我看到网上都这么说,可是我的数据库连接是下面这样的,这个设置应该加在哪?
<%@ page import="java.sql.*"%> <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@192.2.2.2:1521:XXX"; String user="******8"; String password="******8"; Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
2,char长度是受限制的,是不是正好读到中文字符的一部分了,没有读全
连接数据库是否指定了编码?
请求的时候是否指定了编码过滤器或request response是否设置了charactorcoding?
页面显示是否指定了对应的编码?
String temp = new String(从数据库中取出的数据.getBytes("ISO-8859-1"),"GB2312");
或者
String temp = new String(从数据库中取出的数据.getBytes("utf8"),"GB2312");
或者
String temp = new String(从数据库中取出的数据.getBytes(),"GB2312");
转换编码试试.