Java连接mysql数据库并插入中文数据显示乱码??

EmpDao.javapackagecom.cdd;publicclassEmpDao{Connectionconn=null;publicConnectiongetCo... EmpDao.java
package com.cdd;
public class EmpDao {
Connection conn = null;
public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功!!");
String url = "jdbc:mysql://localhost:3306/db_database03";
String user = "root";
String passWord = "111";
conn = DriverManager.getConnection(url, user, passWord);
System.out.println("已成功的与MySQL数据库建立连接!!");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public String insertEmp(Emp emp){
conn = getConnection();
try {
PreparedStatement statement = conn.prepareStatement("insert into tb_emp values(null,?,?,?,?,?,?)"); //定义插入员工信息的SQL语句
statement.setString(1, emp.getName()); //设置预处理语句参数值
statement.setInt(2, emp.getAge()); //设置预处理语句参数值
statement.setString(3, emp.getSex());
statement.setString(4, emp.getDept());
statement.setString(5, emp.getPhone());
statement.setString(6, emp.getRemark());
statement.executeUpdate(); //执行插入语句
conn.close(); //关闭数据库连接
return "数据插入成功"; //返回执行结果
} catch (Exception e) {
e.printStackTrace();
return "数据插入失败";
}
}
}

InsertServlet.java
package com.cdd;
public class InsertServlet extends HttpServlet {

public InsertServlet() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Emp emp = new Emp();
emp.setName(request.getParameter("nameTextfield"));
emp.setAge(Integer.parseInt(request.getParameter("ageTextfield")));
emp.setSex(request.getParameter("sexSelect"));
emp.setDept(request.getParameter("deptTextfield"));
emp.setPhone(request.getParameter("phoneTextfield"));
emp.setRemark(request.getParameter("remarkTextarea"));
EmpDao empDao = new EmpDao();
String message = empDao.insertEmp(emp);
request.setAttribute("message", message);
request.getRequestDispatcher("index.jsp").forward(request, response);
}

public void init() throws ServletException {
}
}
Emp.java和index.jsp就不写了
id为11的那行是通过Java添加的,其它的是通过mysql数据库添加的。
展开
 我来答
百度网友876eb9c
2013-08-04 · TA获得超过1513个赞
知道小有建树答主
回答量:1200
采纳率:0%
帮助的人:281万
展开全部
你应该是安装mysql的时候编码你是选择默认的吧。
你可以找到mysql的安装目录MySQL Server 5.0\bin\MySQLInstanceConfig.exe
重新配置下就可以了。一般选择utf-8编码。

再一个如果数据库开始就建立好了。alter database 表名 character set utf8;

  连接数据库设置编码

  jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8
457005728
2013-08-04 · TA获得超过644个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:225万
展开全部
数据库连接字段改为
jdbc:mysql://localhost:3306/db_database03?useUnicode=true&characterEncoding=utf8

数据库创建的时候
create database db_database03 character set utf8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yiluyouni_zxx
2013-08-04
知道答主
回答量:39
采纳率:100%
帮助的人:23.2万
展开全部
将那张表给删了,重新建表,特别要注意数据库的编码,一般情况下用utf-8基本不会有乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式