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

关于Java 乱码的本质

 
阅读更多
最近因为项目迁移服务器的原因 本地测试没什么问题 到了新服务器后都乱码了,所以稍微研究了下乱码的原因

还有几个地方不太明白 希望高手能给指点下迷津,小弟在此先谢过了

我java文件的编码设置的是 UTF-8编码 可能涉及到 String的 getBytes() 和 new String(char [] args)两个方法会调用到java文件的编码

以下这段代码 查看了下结果

byte [] iso = "待查".getBytes();
String iso_1 = new String(iso); //正常
String iso_2 = new String(iso,"ISO-8859-1");//乱码
byte [] utf = "待查".getBytes("utf-8");
String utf_1 = new String(utf);//正常
String utf_2 = new String(utf,"ISO-8859-1");//乱码
byte [] gb = "待查".getBytes("gb2312");
String gb_1 = new String(gb);//乱码
String gb_2 = new String(gb,"ISO-8859-1");//乱码

有以下几个问题想请教下

1.ISO-8859-1 编码范围 和 UTF-8 的 区域范围哪个大呢?为什么UTF-8编码获取到字节 用ISO-8859-1解码后还是乱码呢?也希望高手能推荐点获取这样资料的文章地址或者网站

2.

我有数据需要导出为execl 文件 设置导出的文件名的时候

我按下面的编码设置的,我页面的编码也是UTF-8

resp.setContentType("application/vnd.ms-excel :charset=gb2312");

resp.setHeader("Content-Disposition", "attachment;filename="+new String("待查人员.xls".getBytes("gb2312"),"gb2312")+";");

怎么文件名还是乱码呢?

分享到:
评论

相关推荐

    java配置过滤器,解决乱码

    首先,我们要理解Java乱码的根源。乱码通常出现在两个主要场景:输入(如POST表单数据)和输出(如JSP页面显示)。在Java Web应用中,数据可能以不同的字符集在客户端和服务器之间传递,如果编码不一致,就可能导致...

    java 的乱码教程

    要理解Java乱码的本质,首先要了解在JSP/Servlet中涉及的几个关键编码设置。 1. **pageEncoding="UTF-8"**:这个属性是在JSP文件中设定的,它指定JSP在被编译为Servlet时使用的字符编码。当JSP内部有直接定义的字符...

    java中文乱码解决之道(4)java编码转换过程Java

    在Java编程语言中,中文乱码问题是一个常见的挑战,特别是在处理文本输入输出或者网络通信时。本文将深入探讨Java中的编码转换过程,帮助开发者理解如何有效地解决中文乱码问题。 首先,我们需要理解编码的本质。...

    彻底解决JAVA读取写入中文乱码的问题

    在Java编程中,读取和写入中文字符时经常遇到乱码问题,这主要是由于编码格式不匹配导致的。本文将深入探讨这个问题,并提供一种彻底解决JAVA读取写入TXT中文乱码问题的方法。 首先,我们需要理解编码的本质。在...

    下载文件提示框中文乱码

    在IT领域,中文乱码是一个常见的问题,...理解这些问题的本质,并采取相应措施,就能有效地解决“下载文件提示框中文乱码”的问题。在实际操作中,我们需要结合具体情况,灵活运用上述方法,确保文件的正常下载和显示。

    JavaEE防止中文乱码的设置

    要防止中文乱码,我们需要理解字符编码的本质,并掌握JavaEE相关组件的配置技巧。以下是一些关键知识点: 1. **字符编码的理解**: - **ASCII**:最早的字符编码,只包含128个英文字符。 - **Unicode**:为了解决...

    破解中文软件乱码以及装不上问题

    首先,我们要理解“中文乱码”的本质。乱码通常发生在计算机无法正确识别或显示中文字符时。这可能是由于编码格式不兼容、字体缺失或者系统设置不当等原因引起的。例如,软件内部使用的是GB2312编码,而你的系统设定...

    传值 乱码 处理 jsp 处理表单时

    #### 二、理解问题本质 首先,我们需要明确几个概念: 1. **字符集**:字符集是一套符号和编码方法,用于表示文本数据。 2. **乱码**:当浏览器或服务器接收到的数据与实际发送的数据使用的编码不一致时,就会出现...

    Java实现Web报表打印功能.

    由于Web应用本质上属于瘦客户端架构,直接操作客户端设备(如打印机)存在限制。这促使业界探索了多种解决方案,包括使用第三方软件、Applet调用API、ActiveX、JavaScript结合Office应用以及PDF类库等方式。对于成本...

    解决JSP页面中文乱码问题

    在使用JSP(Java Server Pages)技术开发Web应用程序的过程中,经常会遇到中文乱码的问题。特别是在接收表单提交的数据或者显示数据库查询结果时,中文字符可能会出现乱码的情况。这对于初学者来说可能是一个比较...

    java版 解决跨域问题CORS ajax+jsonp例子源代码.zip

    6. "ajax发来的数据,java(servlet)收到的是乱码" - 这可能是一个问题描述,指出在使用AJAX发送数据到Java Servlet时,服务器接收到的数据出现乱码,可能涉及到字符编码的问题,需要正确配置字符集以避免这种情况。...

    Source Insight3.57中文注释乱码问题解决,支持UTF-8补丁

    Source Insight是一款非常流行的源代码查看和编辑工具,尤其受到C/C++、Java、C#等编程语言开发者的喜爱。然而,对于处理含有非ASCII字符集,尤其是中文字符的代码时,可能会遇到编码问题,比如在显示中文注释时出现...

    java web 开发 经典笔记

    例如,`getParameter()`方法用于获取请求参数,处理乱码问题通常涉及到对请求参数进行编码转换,如使用`request.setCharacterEncoding("UTF-8")`来设置字符编码,防止下载文件时出现乱码。 2. **page对象**:这个...

    jspservlet取参数乱码问题分析

    在Java Web开发中,尤其是在处理中文参数时,经常会遇到一个常见问题——**jspservlet取参数乱码**。这一现象通常发生在当用户从客户端提交包含中文字符的表单至服务器端时,服务器端接收到的参数显示为乱码。这种...

    Java中文问题详解

    在Java中,`String`对象本质上是由`char`数组组成的。当我们需要将字符串转换为字节数组时,通常是因为需要在网络上传输或者写入文件。而进行这样的转换时,必须指明使用的字符编码。 - **使用指定编码转换**:`...

    javajsp中 中文问题详解

    在Java中,`String`对象本质上是一个`char`数组。当需要将`String`转换为`byte[]`或反之亦然时,必须指定编码。否则,可能因默认编码与期望编码不符而导致乱码。 ```java byte[] bytes = "你好".getBytes("UTF-8");...

    java ajax文档

    在深入探讨Java与Ajax的协同作用之前,我们首先应当理解Ajax(Asynchronous JavaScript and XML)的本质及其为何成为现代Web开发中的关键组成部分。 #### Ajax:异步通信的基石 Ajax的核心优势在于它能够使网页在...

    Java中文问题详解(高手必读)

    `String`对象本质上是一个`char[]`数组,它可以直接存储Unicode字符。当需要将`String`转换为`byte[]`时,必须明确指定编码格式,否则可能会导致乱码。 ```java byte[] b = {(byte) '\u00c4', (byte) '\u00e3'}; ...

Global site tag (gtag.js) - Google Analytics