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命令窗口无论是插入还是查询都是乱码的问题;