加了关键代码 ....&characterEncoding=utf-8" 还是乱码怎么办

加了关键代码 ....&characterEncoding=utf-8" 还是乱码怎么办

import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;


public class JDBCConnect {

	@Test
	public void demo1() throws SQLException{
		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/lin?useUnicode=true&characterEncoding=utf-8","root","root");
			String sql="select * from goods where price<3500";
			Statement statement=conn.createStatement();
			ResultSet rs=statement.executeQuery(sql);
			while(rs.next()){
				System.out.println(rs.getInt(1)+"     "+rs.getString(2)+"     "+rs.getFloat(3));
			}
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}


正在回答

登陆购买课程后可参与讨论,去登陆

7回答

使用如下所示的格式,把编码为latin1的编码都改成utf8。祝学习愉快!

http://img1.sycdn.imooc.com//climg/5b7cc3fc0001b2b503980066.jpg

提问者 看到我麻烦叫我去学习 2018-08-22 12:55:56

http://img1.sycdn.imooc.com//climg/5b7cecbc0001fe1910350613.jpg


就是我已经把编码都改成utf8了,但是出现了这种情况。

  • 同学更改完成以后重启数据库服务,再重新插入一条数据,再查询一次,看是否还会出现这种情况~ 如果还有问题,可以继续提问~祝学习愉快!
    2018-08-22 14:56:08
  • 重启服务器之后,修改过的server编码会恢复成latin1 character_set_server =latin1
    2018-08-22 20:35:47
  • 因我配置文件my.ini中的 character_set_server =latin1; 我现在把latin1修改成utf8,现在可以正常操作了谢谢!
    2018-08-22 20:46:02
提问者 看到我麻烦叫我去学习 2018-08-21 21:04:36

http://img1.sycdn.imooc.com//climg/5b7c0db400014a1010450346.jpg

根据吧友提示,我查看数据库的字符集,是这个,是不是我这里出问题了?

提问者 看到我麻烦叫我去学习 2018-08-21 21:01:21

http://img1.sycdn.imooc.com//climg/5b7c0cd800011dec10000400.jpg

还是不行,用cmd创建的数据查出来乱码;

但是我用navicat创建的数据,可以查出来,但是cmd又查不出来。

提问者 看到我麻烦叫我去学习 2018-08-21 11:47:13

http://img1.sycdn.imooc.com//climg/5b7b8b2b0001714608000300.jpg


这个是数据库中的数据。

  • 将url改成"jdbc:mysql://localhost:3306/lin?characterEncoding=utf-8","root","root"试试呢,再把eclipse中的字符编码改成utf-8的格式试一试,祝学习愉快~
    2018-08-21 14:22:02
一叶知秋519 2018-08-21 11:27:44

建议同学检查一下数据库中数据是不是乱码呢?

  • 数据库中数据没有乱码,查询结果是乱码的
    2018-08-21 11:31:12
  • 是这样的,一开始我插入一些中文数据,查询结果出现乱码,现在把表删了重建,重新插入中文数据,提示 ERROR 1366 (HY000): Incorrect string value: '\xCD\xF5\xB6\xFE\xC2\xE9...' for column 'name' at row 1
    2018-08-21 11:35:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师