小生刚出道,希望各位前辈多多关照.
刚遇一问题,给公司做的电子商务网站时,添加商品的操作出现问题.若添加像"啫喱水"用debug跟踪到action中发现前俩字变成乱码了.只有"水"是正常的.
我用的是mysql数据库,我写一insert语句插入"啫喱水",虽插入成功,但表里是空白.
道行尚浅,实在无能为力............

解决方案 »

  1.   

    页面page指令里写的gb2312,action是utf-8.
    可是一般常见的中文全都没问题。
    而且我用的是mysql数据库,我写一insert语句插入"啫喱水",虽插入成功,但表里这列是空白. 
    这也是个问题。
      

  2.   

    1、修改程序中所有字符集统一为 UTF-8 或者 GB18030,记住要统一2、查看mysql目录中的my.ini文件,里面有两处修改字符集的节点,查看并修改
      

  3.   

    插入的字符集要和mysql 相匹配才行
      

  4.   

    有谁试过用myEclipse6.0从页面把"啫、喱"两字跟踪到action还不是乱码的,请帮帮小弟哈.
    我开始就是用的GBK.不行,改成utf-8还是不行.
    QQ上问以前的教员.他说若GBK里没有这两字就不好整了.可是别人做的电子商务网站就可以正常操作这俩字啊.
    郁闷ing...............
      

  5.   

    乱码是艺术。   GBK是简体中文。 所以没有。    建议项目中所有编码都改成 UTF-8
    从数据库到客户端页面……
      

  6.   

                  
    这样用,行得通,建议项目中所有编码都改成 UTF-8 )
    String actionvalue=form1.getString("pagevalue");
    try {
    String s=new String(actionvalue.getBytes("ISO-8859-1"),"UTF-8");
    //转码后的值重新设置到页面显示
    form1.set("pagevalue", s.toString());
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }
      

  7.   

    编码方式改称gbk,就可以了。
    因为gb2312,只包含常用的简体中文。
    gbk包含更多的中文。
      

  8.   

    可以尝试添加一个过滤器,用来筛选编码,页面的编码必须和my.ini中的配置编码一样
    在web.xml中配置过滤器
    }<filter>
       <filter-name>FilterCN</filter-name>
       <filter-class>com.filter.FilterCN</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>FilterCN</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>实现Filter接口public class FilterCN implements Filter {
    public void destroy() {
    }
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    // TODO Auto-generated method stub
    HttpServletRequest request=(HttpServletRequest)arg0;
    HttpServletResponse response=(HttpServletResponse)arg1;
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    arg2.doFilter(request, response);
    }
    public void init(FilterConfig arg0) throws ServletException {
    }