`
cin_ie
  • 浏览: 46980 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jsp页面乱码问题的解决

    博客分类:
  • java
 
阅读更多
转载于 http://blog.csdn.net/wula0010/article/details/3942321
jsp乱码问题,大家经常碰到,我在做多文件上传的过程中,基本碰到了所有的情况,解决也是曲折的,经过摸索,现在总结如下:

1、所有页面都用统一的编码UTF-8(或GB2312或GBK)。
2、写过滤器,设置request.setCharacterEncoding("UTF-8")。
3、javascript脚本里用传参数要先encodeURI(str)编码。
4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")解码。
5、最容易忽略的是在jsp页面使用".....":value=" <%=paraFiles%>",一定要有引号。

6、文件下载的时候,response.setHeader的文件名要转换编码,读取文件的路径不要转换编码。
    public static String toUtf8String(String s) {  
       StringBuffer sb = new StringBuffer();  
       for (int i = 0; i < s.length(); i++) {  
           char c = s.charAt(i);  
           if (c >= 0 && c <= 255) {  
               sb.append(c);  
           } else {  
               byte[] b;  
               try {  
                   b = Character.toString(c).getBytes("utf-8");  
               } catch (Exception ex) {  
                   System.out.println(ex);  
                   b = new byte[0];  
               }  
               for (int j = 0; j < b.length; j++) {  
                   int k = b[j];  
                   if (k < 0) {  
                       k += 256;  
                   }  
                   sb.append("%" + Integer.toHexString(k).  
                           toUpperCase());  
               }  
           }  
       }  
       return sb.toString();  
    }  
      
    String fileName=request.getParameter("filename");  
    String contextPath=request.getSession().getServletContext().getRealPath("");  
            String filePath=contextPath+"//"+InitParameter.getUploadFile_Path()+"//";  
    File file=new File(filePath+fileName);  
      
      
    String fileName1=toUtf8String(fileName);  
    response.setContentType("application/octet-stream");  
            response.setContentType("application/OCTET-STREAM;charset=UTF-8");  
            response.setHeader("Content-Disposition", "attachment;filename="+fileName1);  

例子源码:http://download.csdn.net/source/965319
分享到:
评论

相关推荐

    解决jsp页面乱码

    解决jsp页面乱码,页面信息配置,tomcat配置以及各种信息配置

    JSP中文乱码问题解决办法

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

    解决JSP中文乱码问题

    解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见...解决 JSP 中文乱码问题需要从多方面入手,包括在 JSP 文件中指定编码方式,在 Java 文件中指定编码方式,在页面中指定编码方式,并确保编码方式的一致性。

    如何解决JSP页面显示乱码问题

    ### 如何解决JSP页面显示乱码问题 在JSP(Java Server Pages)开发中,中文乱码问题一直是开发者常见的挑战之一。这类问题通常源于不同的编码格式不一致导致的字符集冲突。本文将针对JSP页面显示乱码、表单提交中文...

    jsp中文乱码问题解决

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

    解决jsp页面中文乱码问题

    通过以上步骤,大部分JSP页面的中文乱码问题都能得到解决。但实际情况可能更复杂,需要根据具体错误现象进行排查。如果使用了`demo`这个压缩包,它可能包含示例代码或工具,帮助我们更直观地理解并实践上述解决方案...

    jsp页面提交乱码问题

    通过上述分析可知,解决JSP页面提交乱码问题的关键在于确保客户端与服务器端之间字符编码的一致性。具体可以通过设置HTML页面编码、设置JSP页面处理请求的字符编码以及正确处理不同的表单提交方式等方法来实现。此外...

    有关JSP页面乱码问题的解决

    ### 有关JSP页面乱码问题的解决 在开发基于Java的应用系统时,尤其是在处理中文字符的情况下,JSP页面中的乱码问题是常见的技术难题之一。本文将深入探讨JSP页面中可能出现的乱码问题及其解决方案,并针对不同场景...

    jsp页面乱码处理

    本文将根据“jsp页面乱码处理”的标题与描述,深入解析解决JSP乱码问题的策略,并结合具体代码实例,帮助开发者彻底摆脱这一难题。 #### JSP乱码的根本原因 JSP页面的乱码通常源自字符编码不一致,即不同环节使用...

    jsp中文乱码问题jsp中文乱码问题详解

    jsp中文乱码问题的出现是由于编码格式不一致所导致的,可以通过确保jsp文件的存储格式、解码格式和控制浏览器的解码方式一致来解决乱码问题。同时,在使用Post和Get方式提交表单时,需要指定提交的编码格式,以避免...

    jsp页面乱码最简单的解决办法

    ### jsp页面乱码最简单的解决办法 在Web开发中,尤其是使用Java Server Pages (JSP)进行网页制作时,经常遇到的一个问题是字符编码问题,即所谓的“乱码”。这不仅影响用户体验,还可能导致数据处理错误。本文将...

    jsp乱码解决方案 本方案解决了jsp常见的乱码问题

    - **设置JSP页面编码**:在JSP页面头部添加`; charset=UTF-8" pageEncoding="UTF-8"%&gt;`,确保页面使用统一的编码格式。 - **设置Tomcat服务器编码**:修改Tomcat配置文件中的`URIEncoding`属性为“UTF-8”,以确保...

    jsp 页面乱码问题

    总的来说,解决JSP页面乱码问题需要从多个层面进行排查和调整,包括但不限于JSP页面、HTTP头、服务器处理、数据库以及任何涉及文本数据的读写操作。每个环节都必须确保字符编码的一致性,这样才能避免乱码的出现。...

    JSP页面中文乱码几个解决办法

    总结来说,解决JSP页面中文乱码问题的关键在于保持字符编码的一致性,从编辑器保存文件的编码、JSP页面的编码声明、Servlet的响应编码、POST请求的参数编码,到服务器处理GET请求的编码,都需要进行适配和统一。...

    JSP中文乱码问题解决总结

    本篇文章将深入探讨JSP中文乱码问题的原因、解决策略以及预防措施。 一、乱码产生的原因 1. 字符集不一致:JSP页面、Servlet、HTML、CSS、JavaScript、数据库等环节如果使用的字符集不统一,容易导致中文字符在...

    jsp页面传值中文乱码问题处理.docx

    jsp页面传值中文乱码问题处理 在 JSP 页面中传值时,中文字符可能会出现乱码问题,这是由于字符编码不一致所引起的。下面将详细讲解 JSP 中文乱码种类和解决方案。 JSP 文件中文内容显示乱码 在 JSP 文件中,如果...

    Jsp乱码问题解决

    在JSP页面开发过程中,中文乱码是一个常见的问题。这个问题主要是由于服务器端和客户端(浏览器)的编码设置不一致导致的。 **原因分析:** 1. **服务器编码设置:** 不同的Web服务器或不同的JDK版本可能会采用...

    java项目jsp中乱码问题解决

    首先,JSP输出中文乱码的问题通常是由于没有明确指定JSP页面的字符编码。解决这个问题的方法是在JSP页面顶部添加`; charset=utf-8"%&gt;`指令,指示JSP使用UTF-8编码进行内容显示。同时,为了确保浏览器正确解析页面,...

    jsp include 乱码问题的解决

    本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的根本原因。乱码通常是由于字符编码不一致导致的。在JSP中,页面的编码、包含的文件的编码以及服务器的默认编码如果设置不...

Global site tag (gtag.js) - Google Analytics