java jdbc 乱码问题

帅狗 发布于 2013/12/14 12:18
阅读 1K+
收藏 0

operationName 是我自己在方法传进来的字符串 数据库也是utf-8

String driver = "com.mysql.jdbc.Driver";

       String dbName = "mms";
       String passwrod = "twinflag";
       String userName = "root";
       String url = "jdbc:mysql://192.168.10.95:3306/" + dbName+"?useUnicode=true&characterEncoding=utf-8";
       String operationName = option.getOperationName();
       try {
        operationName = new String(operationName.getBytes("utf-8"),"utf-8");这里我试了好多种都不行 大神如何解决
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
加载中
0
南湖船老大
南湖船老大

if(JDBC连接编码==网页编码==数据库编码){
正常

}else{
乱码

}

0
zqq90
zqq90

看看mysql的 default-charset

my.ini

[client]

default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]

character-set-server=utf8



0
雨翔河
雨翔河

同问,我到现在没解决这个问题。

设置成全部都是utf-8也不好使,全部设置成gbk也不好使。。。

0
亓斌哥哥
亓斌哥哥

javaweb???? 建立一个filer,在doFilter里试试req.setCharacterEncoding("utf-8");chain.doFilter(req, resp);

0
Timco
Timco
我觉得你应该是错误理解了getbytes的用法。
0
巴顿
巴顿
不知道这个能否帮到你。http://my.oschina.net/u/778987/blog/160066
0
S
Sagar
getbytes的utf8改成iso8859-1试试?
0
小沫
小沫

如果这样不行  可能就是mySQL的问题 你去看看数据库的编码设置。

0
云颖
云颖

引用来自“webit”的答案

看看mysql的 default-charset

my.ini

[client]

default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]

character-set-server=utf8



你可以先看看这个文章http://hi.baidu.com/yojeajie/item/1f4adf4603429035fa8960d9

确定一下你当前数据库表和数据库的编码,如果不是utf-8的话需要修改一下。最后在检查一下my.ini上各个编码,如果不是utf-8按照上面的修改一下就OK了

0
0xAB
0xAB

String url = "jdbc:mysql://192.168.10.95:3306/" + dbName+"?useUnicode=true&characterEncoding=utf-8"; 

// 更改为

 String url = "jdbc:mysql://192.168.10.95:3306/" + dbName+"?useUnicode=true&characterEncoding=utf8";



返回顶部
顶部