现在的位置: 首页 > 综合 > 正文

jsp/java连接mysql数据库中文出现乱码问题(设置+代码)

2018年04月25日 ⁄ 综合 ⁄ 共 1181字 ⁄ 字号 评论关闭
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo1 {

	/**
	 * @param args
	 * @throws SQLException 
	 * @throws ClassNotFoundException 
	 */
	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		// TODO Auto-generated method stub
		  Class.forName("com.mysql.jdbc.Driver");
//connection中url写法,可以避免中文乱码问题

		  Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student?user=root&password=910429&useUnicode=true&characterEncoding=utf-8");
		  Statement stat=conn.createStatement();
		  String sql="insert into stu values('10','网')";
		  stat.executeUpdate(sql);
		  String sql1="select * from stu";
		  ResultSet rs=stat.executeQuery(sql1);
		  while(rs.next())
		  {
		    System.out.println(rs.getString("id")+" "+rs.getString("name"));
		  }
	}

}

这是代码中控制输入输出汉字乱码的控制,但是在用mysql命令窗口(黑框)时,显示和输入都出现了汉字乱码问题,其解决方法有:

1:在安装sql时,有一项设置是对编码方式的控制,选中之后再选择gbk/gb2312;

2:如果安装的时候使用的是默认的(latin1),需要修改mysql目录下的my.ini配置文件,打开之后,将所有的default-character-set设置成gbk/gb2312,配置文件中需要修改的有两处地方,但不一定都是default-character-set,有的是对serve设置的;

3:安装过mysql之后,很多人不是直接用的mysql命令窗口,而是用的图形化的第三方工具,但是应该注意的是,在那个工具建数据库的时候应该注意设置其编码方式,很多是默认的,导致用该环境查询时出现乱码问题,插入时也是乱码,所以从mysql命令窗口无论是插入还是查询都是乱码的问题;

抱歉!评论已关闭.