jsp servlet mysql fckeditor等配合使用时出现中文乱码的解决问题!

  1.jsp+servlet出现乱码问题:

       在jsp中有表单提交,输入中文后在servlet中获取显示出现乱码:

       a.首先检查开发工具的编码格式:

            确定编码格式后,比如是UTF-8。在MyEclipse将编码统一,方法:windows-Preferences-Myeclipse Enterprise Workbench-Files and Editors-jsp 将Encoding中的选成UTF-8。

       b.在jsp页面中设置:<%@ page pageEncoding="UTF-8" %>在head标签中加入<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

       c.在servlet中获取内容时,在doGet或doPost方法中(看使用哪个方法,一般是在一个中调用另一个)加上request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");(这个方法不是太好,建议用过滤器)

       d.使用过滤器,如下代码:

//这是个过滤类

public class EncodingFilter implements Filter{

private String charset  = "UTF-8";//初始值为UTF-8

 

 public void destroy() {
  
 }
 public void init(FilterConfig fc) throws ServletException {

 charset = fc.getInitParameter("charset");//从配置文件中获得参数名为charset的值赋给charset
 }

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {

 

//可以在类中直接设置,也可以在web.xml配置文件中的filter标签中设置<init-param><param-name>charset</param-name>

<param-value>UTF-8</param-value></init-param>然后在该类中引用就行,一般在配置文件中设置比较灵活
  request.setCharacterEncoding(charset);
  response.setCharacterEncoding(charset);
  chain.doFilter(request, response);
 }

 }

在web.xml配置文件中引入过滤器类,<filter>
   <filter-name>EncodingFilter</filter-name>//过滤器名称,这个随便起只要和mapping中的name一致就行
   <filter-class>com.sjz.blog.util.EncodingFilter</filter-class>//类所在的包名加类名

<init-param>
        <param-name>charset</param-name>
        <param-value>UTF-8</param-value>
     </init-param>
  </filter>
  <filter-mapping>
   <filter-name>EncodingFilter</filter-name>
   <url-pattern>/*</url-pattern>//对根目录下的所有文件都进行过滤
  </filter-mapping>

 

          d.一般设置了上面的就差不多解决了,如果还不行的话,就在tomcat中conf文件夹下的server.xml配置文件中加入URIEncoding="UTF-8":<Connector port="8080" protocol="HTTP/1.1"
               maxThreads="150" connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>然后重新部署,刷新项目,一般保险起见最好先删除在加载。

 

   2.数据库中出现乱码问题,大多数情况是在安装时没有设置好,如图设置编码,根据自己的需要设定。

 

    3.使用fckeditor出现的中文乱码问题:

       a.在fckeditor文件夹下有个fckconfig.js文件用EditorPlus或UltraEdit等编辑软件打开,将其保存为utf-8的编码格式。

       b.将该文件中的FCKConfig.DefaultLanguage  = 'zh-cn'  ;设置为'zh-cn'

 鄙人目前也就发现这么多,如有不足请补充,今天碰到了,顺便写一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值