基于Apache Tomee服务系统的web前端输入中文乱码问题解决办法

来源:互联网 发布:江苏省网络作家协会 编辑:程序博客网 时间:2024/06/01 07:38

问题描述:

ENOVIA系统部署后,在系统内可输入栏位进行中文输入后,确定后显示为乱码;

经测试在后台Matrix中可以对乱码直接修改为中文,修改后在前台直接显示中文。

分析:

应该问题在于过滤器没有将数据过滤为UTF-8

解决办法:

在ENOVIA生成war包后,找到C:\apache-tomee-plus-1.7.4\webapps\enovia\WEB-INF路径下web.xml文件,搜索utf-8,结果如下:

   <!--  TomCat UTF-8 setting
          <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>com.matrixone.servlet.SetCharacterEncodingFilter</filter-class>
            <init-param>
              <param-name>encoding</param-name>
              <param-value>UTF-8</param-value>
            </init-param>
          </filter>
          --> 

发现关于UTF-8的设置没有去掉注释,删除其注释:

   <!--  TomCat UTF-8 setting  -->
          <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>com.matrixone.servlet.SetCharacterEncodingFilter</filter-class>
            <init-param>
              <param-name>encoding</param-name>
              <param-value>UTF-8</param-value>
            </init-param>
          </filter>
继续搜索UTF-8,结果如下:

 <!-- TomCat UTF-8 filter mapping
         <filter-mapping>
           <filter-name>Set Character Encoding</filter-name>
           <url-pattern>/*</url-pattern>
         </filter-mapping>
         -->

发现关于UTF-8的过滤功能没有去掉注释,删除其注释:

 <!-- TomCat UTF-8 filter mapping -->
         <filter-mapping>
           <filter-name>Set Character Encoding</filter-name>
           <url-pattern>/*</url-pattern>
         </filter-mapping>
 保存后重新启动tomee,再次进行测试,发现web端显示正常。      

在ENOVIA生成war包前,应在C:\enoviaV6R2015x\server\win_b64\resources\warutil\fragment路径下找到ENOLiveCollaborationServer.liveCollaborationServer.web.xml.part文件,修改以上说明中的uft-8的设置。


原创粉丝点击