?useUnicode=true&characterEncoding=utf8 是解决乱码问题,将oracle的编码改为utf8,如果正确执行的话,编码方式已经改变了,你再次打印就是正常的字符,至于你说的报错,不知道报的是什么错,无法确定。我看了一下楼主报的错,应该就是你的sid写错了,就是orcl,数据库监听监听你的sid最后无法连接你的数据库,所以楼主你先看一下你懂得orcl这个sid写错了没,如果没错,你在:以及orcl中间加一个空格试一试