首页 > 代码库 > 中文乱码问题的解决途径

中文乱码问题的解决途径

 

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>

  

 

中文乱码问题的解决途径