`
superzhaoxi
  • 浏览: 61093 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

中文乱码问题解决

阅读更多

最近在开发过程中遇到不少中文乱码问题,google无数次,总算解决一部分,哦也!

 

在开发的时候,所有的jsp页面都使用UTF-8编码(UTF-8真是个好东西!)

 

1.struts中资源文件中如果value为中文,显示乱码 


    解决办法:使用eclipse插件Properties Editor 更新站点http://propedit.sourceforge.jp/eclipse/updates/(建议自动更新)
 步骤:
 Eclipse下的“帮助”/“软件更新”/”查找并安装“/选择第二项/“新建远程站点”/name随意写,url输入
http://propedit.sourceforge.jp/eclipse/updates/ 


 

2.表单提交中文时显示乱码

 

解决办法:使用servlet过滤器filter 

在TOMCAT的目录下的\webapps\jsp-examples\WEB-INF\classes\filters\找到SetCharacterEncodingFilter.java 这个类,放到你的程序中并配置好映射路径。

  <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>com.wygl.service.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
  <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>

  

这样就ok了,还有个需要注意的地方,当时filter配置好后,提交还是乱码,检查了好久才发现,原来

  1. "test1.jsp" id="listForm" >  
少些了mothed="post"
  1. "test1.jsp" id="listForm" method="post" >  

 

 

3. struts的中文问题

 

解决方法:使用自己的ActionServlet

自己写一个MyActionServlet继承ActionServlet

  1. import javax.servlet.http.HttpServletRequest;   
  2. import javax.servlet.http.HttpServletResponse;   
  3. import org.apache.struts.action.ActionServlet;   
  4.   
  5. public class MyActionServlet extends ActionServlet{   
  6.     protected void process(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException {    
  7.         /**@todo Override this org.apache.struts.action.ActionServlet method*/     
  8.         request.setCharacterEncoding("UTF-8");    
  9.         super.process(request, response);    
  10.     }   
  11. }   

然后在web.xml里面使用MyActionServlexml

  1. <servlet>  
  2.     <servlet-name>actionservlet-name>  
  3.     <servlet-class>com.wygl.service.MyActionServletservlet-class>  
  4.     <init-param>  
  5.       <param-name>configparam-name>  
  6.       <param-value>/WEB-INF/struts-config.xmlparam-value>  
  7.     init-param>  
  8.     <init-param>  
  9.       <param-name>debugparam-name>  
  10.       <param-value>3param-value>  
  11.     init-param>  
  12.     <init-param>  
  13.       <param-name>detailparam-name>  
  14.       <param-value>3param-value>  
  15.     init-param>  
  16.     <load-on-startup>0load-on-startup>  
  17.   servlet>  

 这样就ok了

 

 

4.  mysql的中文问题

 

解决方法:统一编码

在mysql创建数据库的时候注意选择编码UTF-8

如果使用Spring + Hibernate来开发,在applicationContext.xml中配置dataSource的url时这样写:

 

 

xml 代码
  1. <property name="url" value="jdbc:mysql://127.0.0.1:3306/pm?useUnicode=true&amp;characterEncoding=UTF-8"></property>  

 

5. js,ajax 的中文问题

 

js使用的是UTF-8编码,只要包含js的页面也使用UTF-8,js就不会出现乱码

关于ajax,通过ajax将数据提交到服务器端,如果数据中有中文,就会出现乱码

原因:tomcat传参使用ISO-8859-1来编码,而web页面和服务器端都使用的是UTF-8

解决方法:使用ajax的POST,不要使用GET,然后在服务器端这样写

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf-8");

解决!

 

 

分享到:
评论
1 楼 wyyother 2008-09-04  
                                                                         

相关推荐

    Ajax中文乱码问题解决方案

    本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...

    JSP中文乱码问题解决办法

    JSP 中文乱码问题解决办法 JSP 页面中中文乱码问题是指在 JSP 页面中使用中文时,页面显示乱码的现象。这种问题的解决办法可以从多方面入手,包括设置页面的字符编码、使用 POST 方式提交表单、使用 GET 方式提交...

    java中文乱码问题解决

    "Java中文乱码问题解决" Java中文乱码问题是Java开发中常见的问题,尤其是在Web开发中,乱码问题会导致页面显示混乱,影响用户体验。解决乱码问题需要了解编码的基本原理和各种编码格式的区别。 编码的原因可以...

    soapUI输入中文显示为乱码,响应报文中文乱码问题解决方法.txt

    soapUI输入中文显示为乱码 响应报文中文乱码问题解决方法

    jsp中文乱码问题解决

    一、页面中文乱码解决 对于jsp页面中文乱码问题,可以通过修改jsp页面的编码方式来解决。我们可以在jsp页面的开头添加 ”utf-8” %&gt;指令,以指定jsp页面的编码方式为UTF-8。这将确保jsp页面中的中文字符正确显示。 ...

    Navicat for MySql 导入EXCEL中文乱码问题解决

    ### Navicat for MySQL 导入Excel中文乱码问题解决 #### 一、问题背景 在使用Navicat for MySQL工具进行数据导入时,经常会出现中文乱码的问题,尤其是在处理Excel文件时更为常见。这种现象不仅影响数据的正确性,...

    Jmeter5.5上传文件中文乱码问题解决包

    解决Jmeter5.5、Jmeter5.5、Jmeter5.5上传文件中文乱码问题和录制脚本中文乱码问题,其他版本请勿使用! 使用时替换原本的lib\ext目录下的ApacheJMeter_http.jar文件并重启,上传文件时,需要勾选“对POST使用...

    串口通信中文乱码问题解决

    串口通信中文乱码问题解决

    jsp SmartUpload 中文乱码问题解决.docx

    jsp SmartUpload 中文乱码问题解决 jsp SmartUpload 中文乱码问题解决是指在使用 jsp 的 SmartUpload 组件进行文件上传下载时,遇到中文乱码问题的解决方法。在这篇文章中,我们将介绍如何解决 jsp 中 SmartUpload ...

    jquery+asp ajax 中文乱码问题解决文档

    ### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...

    PHP中文乱码问题解决方法

    最后,解决中文乱码问题可以使用一种更好的解决方法,即生成一个只有字母和数字的序列作为文件名,而将原来带有中文的名字保存在数据库中,这样调用move_uploaded_file()就不会出现问题,下载的时候只需将文件名改为...

    JFreeChart中文乱码问题解决

    ### JFreeChart中文乱码问题解决 在使用Java进行数据可视化的过程中,经常需要用到JFreeChart这一强大的图表绘制库。然而,在处理中文字符时,开发者往往会遇到一个常见的问题——中文乱码。本文将深入探讨如何解决...

    Linux下eclipse中文乱码问题解决方案

    因此,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题。 解决 Eclipse 中文乱码问题的关键是了解 Eclipse 的编码机制和设置,并遵循避免中文乱码问题的两个原则。在实际项目中,遇到中文...

    51串口发送汉字乱码问题解决方案

    ### 51单片机串口发送汉字乱码问题解决方案 #### 一、问题背景与现象 在使用51单片机进行串口通信时,可能会遇到一个常见问题:通过串口发送汉字时,接收端接收到的是乱码而不是正常的汉字。这不仅影响了数据传输...

    PLSQL中文乱码问题解决方案

    对于使用PL/SQL进行数据库开发与管理的人员来说,遇到中文乱码问题时,需要采取一定的措施来解决问题。本文将详细介绍如何解决PL/SQL中的中文乱码问题,并提供具体的步骤与方法。 #### 解决方案详解 ##### 1. 修改...

    MySQL中文乱码问题解决方案

    ### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...

    Tomcat和weblogic中文乱码问题解决方案

    Tomcat和WebLogic中文乱码问题解决方案 在 Java Web 开发中,中文乱码问题一直是困扰开发者的主要问题之一。 Tomcat 和 WebLogic 是两个常用的 web 服务器,都是支持 Servlet 和 JSP 的。然而,在使用这些服务器时...

    python OpenCV imshow()中文乱码问题解决方法之一

    python OpenCV imshow()中文乱码问题解决方法之一

    Mysql中文乱码问题解决

    ### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是经常遇到的一个难题,它不仅影响数据的正确性,还可能对整个系统的稳定性和用户体验造成负面影响。本文将详细介绍如何解决MySQL中的中文乱码...

Global site tag (gtag.js) - Google Analytics