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

http header中文乱码的问题

    博客分类:
  • java
 
阅读更多
http的Content-Disposition可以用来着指定下载文件的文件名,但是如果文件名中含有中文如果直接用
  		URL url = new URL(urlString);   
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();   
		if (conn.getResponseCode() == 200) {   
			String disposition=conn.getHeaderField("Content-Disposition");
		}  

打印会发现所有的中文都变成了乱码。
分析了下原因,应该是 HttpURLConnection的getHeaderField默认所有header是用iso-8859-1编码的,但是中文实际是用uft8编码。所以就出现了乱码问题。既然知道原因,解决起来就很简单了。
因为是把多字节的编码转换成了单字节的iso-8859-1,所以并不会造成编码信息的丢失。这样我们用
   new String(disposition.getBytes("ISO-8859-1"),"utf8")

就可以解决中文乱码的问题了。ps:这里的中文编码是否为utf8需要根据实际情况来判断。

写下来做个笔记也希望能帮上遇到同样问题的朋友。
0
0
分享到:
评论
2 楼 shadowlin 2010-07-07  
mercyblitz 写道
要看对方怎么设置的头信息字符,不能一概而论。

恩。但是头信息默认应该是iso-8859-1应该是比较确定的吧,我最开始看到的资料说用的是ascii,但是试验下来发现是iso-8859-1。如果这个也可以变的话就比较讨厌了。不知道有没有什么办法按字节流的办法来读头信息。似乎HttpURLConnection只能读转成了字符形式的。

如果 mercyblitz 有什么好的办法希望不吝赐教啊。
1 楼 mercyblitz 2010-07-06  
要看对方怎么设置的头信息字符,不能一概而论。

相关推荐

    文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf

    文件下载response.setHeader()下载中文文件名乱码问题解决办法 本文主要讨论了文件下载时response.setHeader()下载中文文件名乱码问题的解决办法。该问题是由于 HTTP 消息头中的 Content-Disposition 头字段不正确...

    ( response.setHeader()下载中文文件名乱码

    ( response.setHeader()下载中文文件名乱码问题

    express中文乱码解决

    本文将详细介绍如何在Express应用中解决中文乱码问题,包括设置正确的HTTP响应头、使用中间件进行数据解析以及对数据库操作时的编码处理。 #### 一、理解中文乱码的原因 中文乱码主要由以下几种情况引起: 1. **...

    PHP之JPgraph横坐标中文乱码问题

    ### PHP之JPgraph横坐标中文乱码问题解析 在处理PHP与JPgraph图表库时,经常遇到的一个问题是中文字符在横坐标上显示为乱码。本文将深入探讨这一问题,并提供一个具体的解决方案。 #### 问题描述 在使用PHP结合...

    WebSevice 中文乱码

    在IT领域,尤其是在Web开发中,遇到中文乱码问题是一个常见的挑战,特别是在处理WebService时。本文将深入探讨“WebSevice中文乱码”的问题,包括其产生的原因、影响以及解决方案,帮助开发者更好地理解和应对这一...

    解决了中文乱码的http的get和post请求demo

    本篇将详细讲解如何处理中文乱码问题,特别是在HTTP的GET和POST请求中。参考文档来源于CSDN博主的文章,我们将围绕这个主题进行深入探讨。 首先,我们需要理解中文乱码问题产生的原因。当HTTP请求发送含有中文字符...

    完美解决PHP中文乱码问题

    当PHP页面中出现中文乱码时,通常是因为页面的HTML文档声明、HTTP头部信息(通过`header()`函数设置)以及服务器端脚本编码不一致。为了解决这一问题,应确保以下几点一致: 1. **HTML文档声明**:在HTML头部使用`...

    C++Http上传文件到web服务器,解决中文参数乱码

    在C++中,进行HTTP文件上传到Web服务器时,可能会遇到中文参数乱码的问题。这是因为HTTP协议本身并不处理字符编码,而是依赖于上层的应用层协议(如HTTP头或者POST数据)来处理字符集。当涉及到非ASCII字符,如中文...

    PHP中文乱码问题解决方法

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

    php中文乱码问题 初学php最学见的问题

    ### PHP中文乱码问题解析及解决方案 在学习PHP过程中,遇到中文乱码是一个非常常见的问题。这主要是因为编码设置不正确导致的。本篇文章将详细分析PHP中文...按照上述步骤进行设置,可以有效避免中文乱码问题的发生。

    解决Flex 中文乱码

    在开发Flex应用程序时,我们经常会遇到中文乱码的问题,这主要源于AS3(ActionScript 3)和服务器之间编码不一致导致的。Flex是Adobe推出的一款用于构建富互联网应用程序(RIA)的框架,其核心编程语言是AS3。在处理...

    Java Web项目开发中的中文乱码问题与对策.pdf

    Java Web项目开发中,中文乱码问题是一个常见但棘手的困扰,主要涉及到字符编码和解码的过程。在计算机系统中,数据以二进制形式存储,中文字符需要经过编码转换为字节序列才能存储。编码是将字符转化为字节的过程,...

    ICSharpCode.SharpZipLib压缩解决中文乱码dll和代码

    针对标题和描述中提到的“中文乱码”问题,本文将详细讲解如何使用ICSharpCode.SharpZipLib解决这个问题,并提供相关的代码示例。 1. 中文乱码问题的背景: 在处理包含中文字符的压缩文件时,如果编码设置不正确,...

    彻底解决httpClient乱码问题

    在处理中文字符时,由于编码不一致或者处理不当,往往会出现乱码现象。以下是一些关键的知识点和解决方案: 1. **字符编码设置**:HttpClient默认可能不会自动处理服务器返回的字符集,因此需要明确指定编码。在...

    JSP汉字乱码解决大全

    ### JSP中的中文乱码问题解析与解决方案 #### 一、引言 在Web开发过程中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会出现中文字符显示乱码的问题。这不仅影响用户体验,也增加了项目的调试难度。...

    修改后的ICSharpCode.SharpZipLib.Zip,解决乱码问题

    修改两处源码,解决压缩后中文名乱码问题,经过项目测试,请放心使用

    导出excel汉字乱码以及GridView分页问题

    然而,在这个过程中,可能会遇到两个主要问题:汉字乱码和GridView分页问题。本文将详细讲解如何解决这两个问题。 首先,我们来看汉字乱码问题。在导出Excel时,如果编码设置不正确,汉字可能会显示为乱码。在给出...

    JavaWeb开发技术-解决中文输出乱码问题.docx

    在JavaWeb开发中,中文乱码问题是一个常见的挑战,尤其在处理HTTP响应时。这个问题主要源于字符集(charset)的不匹配,即编码和解码过程中使用的字符集不同。为了解决这个问题,我们需要理解编码、解码过程以及如何...

Global site tag (gtag.js) - Google Analytics