`
ninggy
  • 浏览: 114878 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java编程乱码小谈

阅读更多

java编程经常遇到乱码问题解决的办法主要时设置字符集。比如:

1、常见的post和get提交:

 

psot解决方案:(前台页面和后台最好保持统一编码)
 request.setCharacterEncoding("UTF-8");
 String name = new String(name.getBytes("ISO8859-1"), "UTF-8");//IE下设为GBK 火狐和谷歌chrome设为UTF-8
get解决方案:(网上说改tomcatserver.xml,但是我没有成功。不知哪里有误)
String name = new String(name.getBytes("ISO8859-1"), "UTF-8");

 

 2、下载时候乱码,FF和IE、Chrome又有所不同:

 

String       strWenJianMing = new String(strWenJianMing.getBytes("ISO8859-1"), "UTF-8");

response.setContentType("application/x-msdownload;charset=utf-8");
String agent = request.getHeader("user-agent").toLowerCase();
 if(agent != null && agent.indexOf("firefox") >-1) {// FF      
     String enableFileName = strWenJianMing;
    try {
      enableFileName = "=?UTF-8?B?" + (new String(Base64.encode(strWenJianMing.getBytes("UTF-8")))) + "?=";
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    }    
     response.setHeader("Content-Disposition", "attachment; filename=" + enableFileName);    
 } else { // IE,chrome
    response.setHeader("Content-Disposition", "attachment; filename=" + getUTF8toString(strWenJianMing));
 } 

//uft-8转字符串
public static String getUTF8toString(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());
        }
      }
    }
    String s_utf8 = sb.toString();
    sb.delete(0, sb.length());
    sb.setLength(0);
    sb = null;
    return s_utf8;
  }

 

上次项目中出现乱码问题。头说用编码和解码的方式,后台传一个编码过去,提交过来的时候又解码一次。在项目中还真拍上大用场。省去很多处理乱码的事情,当然有些地方还是不能用的。比如用get方式传递没有编码的中文参数还是不行的,除非在前台编好码。

 

分享到:
评论

相关推荐

    java中文乱码解决问题

    JAVA 中文乱码解决问题 JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的...

    java编程中乱码问题解决

    ### Java编程中乱码问题解决 在Java编程中,乱码问题是开发者经常遇到的一个难题,尤其是在处理中文或者其他非英文字符时。本文将详细介绍如何解决Java编程中常见的乱码问题,并提供具体的实例帮助读者理解。 ####...

    java中文乱码大全

    Java中文乱码问题是编程者在开发Java应用程序时经常遇到的问题,尤其是涉及到中文字符处理时。这些问题产生的根本原因在于Java内部采用UNICODE编码,而不同的操作系统和浏览器可能支持不同的编码格式,如Windows中文...

    Java编程乱码处理方法大全(附图说明)

    在Java编程过程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。本篇文章将全面解析Java中的乱码处理方法,涵盖纯Java代码、Servlet、JSP以及EJB类的解决方案,帮助开发者有效解决这一问题。 首先,理解...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    java获取乱码问题

    ### Java获取乱码问题解析与解决方案 在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`...

    java中文乱码问题详解--- java中文乱码问题详解

    ### Java中文乱码问题详解 #### 一、中文问题的来源与背景 计算机技术发展初期,操作系统主要支持单字节的ASCII字符集。...通过上述方法,可以在很大程度上避免Java中文乱码问题的发生,提高程序的稳定性和用户体验。

    Java编程乱码问题

    总之,Java编程中的乱码问题主要是由于Unicode编码与系统默认编码的转换不当导致的,理解和掌握编码原理以及Java程序的生命周期中的编码转换过程,是解决这类问题的关键。开发者应当注意在各个阶段保持编码的一致性...

    Java中文乱码浅析及解决方案

    Java 中文乱码问题是一个常见的编程困扰,尤其对于处理中文字符的Java程序而言。这个问题通常源于字符编码的不一致,即不同环节采用的字符编码标准不统一。本文将深入探讨这一问题,并提供相应的解决方案。 首先,...

    JAVA中文乱码深度分析

    Java编程中的中文问题源于计算机早期对单字节字符编码的依赖,主要体现在Unicode编码与操作系统默认编码(如GBK、GB2312)之间的转换不匹配。Java使用Unicode作为内部编码,这允许其跨平台兼容性,但同时也引出了...

    java中文乱码问题

    Java 中文乱码问题详解 Java 中文乱码问题是一个老生常谈的问题,特别是在 Web 应用中。今天,我们将从编码角度分析 Java 编译后在控制台和 Web 等终端显示乱码问题。 一、 Java 处理字符的原理 Java 使用 ...

    java 中文乱码 处理

    以上介绍了几种常见的Java中文乱码处理方法,包括请求参数编码转换、字符串转义与反转义、前端JavaScript处理以及配置J2EE应用程序。每种方法都有其适用场景,开发者可以根据实际情况选择合适的方法来解决乱码问题。...

    Java 中文乱码问题

    在Java编程中,中文乱码问题是一个常见的困扰开发者的问题,特别是在处理输入输出或者网络通信时。这个问题涉及到字符编码的理解和正确使用。以下是对这个主题的详细解析: 首先,我们需要了解字符编码的基础知识。...

    java中文乱码问题解决

    在开发Java Web程序时,需要控制HTTP请求的编码格式,以避免中文乱码问题。 本文将深入分析Java中文乱码问题的根本原因,介绍各种编码格式的区别和应用场景,并提供解决乱码问题的方法和经验。 在Java中,常见的...

    Java开发乱码问题解决方法汇总

    Java开发乱码问题解决方法汇总 Java开发中乱码问题是非常常见的问题之一,而解决这些问题需要具备一定的技术知识和经验。在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. ...

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统、数据库系统之间的编码不一致。本文深入剖析了Java中文问题的根源,并提供了相应的解决方案。 一...

    Java乱码学习 Java乱码学习

    本文将深入探讨Java编程中的乱码现象,并提供一系列的解决策略。 首先,我们要理解两个基本概念:内码和外码。内码是指字符在计算机内存中以二进制形式表示的实际编码,比如Unicode就是一种内码标准,它包含了世界...

    java传值中的乱码

    ### Java传值中的乱码问题及最简易的解决方法 在Java Web开发中,经常会遇到一个令人头疼的问题:客户端向服务器传递数据时出现乱码。这种情况不仅会影响用户体验,还可能导致程序逻辑错误。本文将深入探讨Java传值...

    Linux下Java程序中文乱码问题研究.pdf

    "Linux下Java程序中文乱码问题研究" 本文主要研究了在Linux操作系统下Java程序中文乱码的问题。该问题是指在Java程序中使用中文时,出现乱码的情况。这是一个常见的问题,在开发Java程序时经常会遇到。 字符集 ...

    java读写csv文件,中文乱码问题

    在Java编程中,CSV(Comma Separated Values)文件是一种常用的格式,用于存储表格数据,如电子表格或数据库。然而,当处理包含中文字符的CSV文件时,可能会遇到乱码问题。这个问题通常与字符编码设置有关,特别是...

Global site tag (gtag.js) - Google Analytics