<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%
String strGet = request.getParameter("keywordsstr")!=null?request.getParameter("keywordsstr"):" ";
strGet=new String(strGet.getBytes("iso-8859-1"),("gb2312"));
out.print(strGet);
%>
<form id="form1" name="form1" method="post" action="?s=search">
<input name="keywordsstr" type="text" id="keywordsstr" size="40" value=""/>
<input type="submit" name="button" id="button" value=" 搜索一下 "/>
</form>页面编码格式是utf8 ,输入中文提交后取出来 显示就是乱码,请问如何解决~

解决方案 »

  1.   

    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> 
    改为
    <%@ page contentType="text/html; charset=gbk"%>
    <%@ page import="java.sql.*" %>
      

  2.   

    不行其他数据是utf8格式的 不是简单的改编码格式~
      

  3.   

    <%@ page contentType="text/html; charset=gbk" Encoding="gbk"%> 
    <%@ page import="java.sql.*" %>代码里再加上
    <%
    request.setCharacterEncoding("gbk");
    %>
      

  4.   

    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> 
    改了我其他UTF8的数据就变成乱码了。我整个编码都是UTF8的。
      

  5.   

    数据库里面的数据若是utf-8,则不转换就是对的.若数据库中为非utf-8则需要将
    <%
    String strGet = request.getParameter("keywordsstr")!=null?request.getParameter("keywordsstr"):" ";
    strGet=new String(strGet.getBytes("iso-8859-1"),("gb2312"));
    out.print(strGet);
    %> 
    改为
    <%
    String strGet = request.getParameter("keywordsstr")!=null?request.getParameter("keywordsstr"):" ";
    strGet=new String(strGet.getBytes("iso-8859-1"),("utf-8"));
    out.print(strGet);
    %> 
    页面出现乱码是由于页面编码<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> 和字符编码不一致造成的.