jsp页面我设置为<%@ page contentType="text/html;charset=gbk"%>,我MyEclipse用的是9.0的版本,数据库用的sql2005的,只要添加到数据库的中文全是乱码?

解决方案 »

  1.   

    数据提交分get被post两种,你先改成post提交表单试试。
      

  2.   

    填上这两句话
    <% request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    %/>
      

  3.   

    一句也行<% request.setCharacterEncoding("utf-8");
    %/>在添加之前
      

  4.   

    乱码问题:客户端提交中文,servlet中获取的是乱码:
      a:如果是get方式,在tomcat中,在conf/server.xml文件中8080端口的connector元素增加URIEncoding="utf-8"
      b:如果是post方式,在servlet中,request.setcharactorEncoding("utf-8");放在request.getparameter之前
      servlet相应中文,客户端显示乱码:response.setCharactorEncoding("utf-8");该代码要放在
    response.getWriter之前另:jdbc:mysql://***:3306/wwwjob?characterEncoding=utf8楼主对比一下
      

  5.   

    写个过滤器,过了request response,请求响应乱码
      

  6.   

    你在JSP页面用encodeURI先处理一下要提交的内容( 例如 name=encodeURI(name); ) 在Servlet里要加response.setHeader("iso-8859-1","utf-8");
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
     JSP页面用utf—8把 gbk容易出现乱码
    你说你数据库里全是乱码 数据库没设数据类型吗 乱码怎么会写进数据库呢 好奇 有点想看看截图
     本人新手一枚 希望对楼主有帮助
      

  7.   

    楼上的回复我看过了,我在Action里面打印了修改过的名字,全是问号,所以应该是JSP页面设置字符集的问题?
    我已经设置为UTF-8了,但打印出来的还是?号,求高人指点……
      

  8.   


    你这句话
    <%@ page contentType="text/html;charset=gbk"%>
    是页面解析字符集是gbk的编码格式、
    <%@ page pageEncoding="UTF-8"%>
    这句话才是页面的传值指定编码格式、你在action得到就是乱码那肯定就是jsp 编码格式问题、
      

  9.   

    你用的是struts几 1.X还是2.X ?如果版本是2.1.6   那有个bug如果不是  试试在struts.xml里设置这句话
    <constant name="struts.i18n.encoding" value="GBK"/>如果还不行
    String filename = request.getParammeter("filename");
    filename = new String(filename.getBytes("ISO-8859-1"),"GBK");
    表单提交的method 是什么? 请设置
    method="post"
    如果还不行、那就修改tomcat的配置文件的编码改咯
      

  10.   

    改tomcat是下下策、
    tomcat的 server.xml中修改下面这段 <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" URIEncoding="UTF-8" />
      

  11.   

    我用的struts是1.x,tomcat我已经设置了为utf-8,提交方式也是post,只有你说的struts.xml 我再试一下吧!
      

  12.   


    设置成gbk 你要确保字符集编码格式统一
      

  13.   

    出个大招、自己写个字符编码拦截、
    import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;/** 编码过滤器 */
    public class CharacterEncodingFilter implements Filter { String encoding = null;
     FilterConfig filterConfig = null;
     
     /** 初始化方法 */
     public void init(FilterConfig filterConfig) throws ServletException {
      this.filterConfig = filterConfig;
      this.encoding = filterConfig.getInitParameter("encoding");
     } /** 过滤处理方法 */
     public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
      if (encoding!=null){
       //对请求进行编码设置
       request.setCharacterEncoding(encoding);
      }
      System.out.println("设置的字符集为:"+encoding);
      System.out.println("经过过滤器后的字符集为 : "+request.getCharacterEncoding());
      
      //将处理权转交给下一个处理器
      chain.doFilter(request,response);
     } /** 销毁方法 */
     public void destroy() {
      this.encoding = null;
      this.filterConfig = null;
     }}web.xml里  把下面的代码放在struts拦截之前、<filter>
      <filter-name>CharacterEncodingFilter</filter-name>
      <filter-class>com.filter.CharacterEncodingFilter</filter-class>
      <init-param>
       <param-name>encoding</param-name>
       <param-value>GB2312</param-value>
      </init-param>
     </filter>
     
     <filter-mapping>
      <filter-name>CharacterEncodingFilter</filter-name>
      <!--<servlet-name>action</servlet-name>-->
      <url-pattern>/*</url-pattern><!--这里对应用下的所有请求都进行过滤-->
     </filter-mapping>
      

  14.   

    String filename = request.getParammeter("filename");
    filename = new String(filename.getBytes("ISO-8859-1"),"GBK");
    这一句改过了,中文是可以显示了,但是GBK要改成utf_8,还有就是,有的我是用实体类代替form的,那样转换太复杂了,求一个更简易的方法?
      

  15.   

    web.xml的encoding具体编码请写自己项目的gbk   而<filter-class>com.filter.CharacterEncodingFilter</filter-class>请写自己项目的真实类路径 
      

  16.   

    JSP页面添加到数据库。这句话本身就有问题。
      

  17.   

    你Eclipse设置字符集了吗?打开eclipse-->Window-->preference 搜索workspace 设置字符集“GBK”
    一般要保持三个地方统一,JSP编码、class文件编码、数据库编码