1 在IDE工具中查看源文件时显示中文乱码
解决途径:
使用记事本打开源文件,并另存为,选择编码方式为UTF-8后,保存,替换当前文件。
2 从数据库中查询的字段信息包含中文时返回的查询信息显示乱码
解决途径:
在sql语句执行之前添加请求编码设置:request.setCharacterEncoding("UTF-8");
Class.forName(DBDRIVER) ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; String sql = "SELECT name FROM user WHERE id=? AND password=?" ; pstmt = conn.prepareStatement(sql) ; pstmt.setString(1,request.getParameter("id")) ; pstmt.setString(2,request.getParameter("password")) ; request.setCharacterEncoding("UTF-8"); rs = pstmt.executeQuery() ; // 查询
3 在表单提交后,接收页面显示提交的表单参数显示为中文乱码
(1) 表单以GET方式提交
<% String info = request.getParameter("info");//接收数据 //获取request对象以ISO8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题 String content =new String(info.getBytes("ISO8859-1"), "UTF-8") ; %> <h2><%=content%></h2>
(2) 表单以POST方式提交
<% response.setContentType("text/html;charset=utf-8");//设置客户端的编码显示格式 request.setCharacterEncoding("UTF-8") ;// 设置的是统一编码 String content = request.getParameter("info") ; %> <h2><%=content%></h2>
时间: 2024-10-11 17:25:57