说今天写这一篇,因为遇到个问题,在centos上导出文件一直乱码。
原来就没出现这问题,适了好多种方法。
最后把导出的编码设成gbk竟然好了。现在还不知其原因,如有高手还请赐教。
java代码编码utf-8,
jsp编码utf-8,
centos中i18n:utf-8,
tomcat:uriencoding utf-8.
public static String toUtf8String(String src)
{
byte[] b = src.getBytes();
char[] c = new char[b.length];
for(int i=0;i<b.length;i++)
{
c[i] = (char)(b[i]&0x00FF);
}
return new String(c);
}
对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下
测试文件编码是否为UTF-8
File file = new File(path);
InputStream ios = new java.io.FileInputStream(file);
te[] b = new byte;
ios.read(b);
ios.close();
if (b[0] == -17 && b[1] == -69 && b == -65)
System.out.println(file.getName() + “:编码为UTF-8″);
else
System.out.println(file.getName() + “:可能是GBK,也可能是其他编码。”);
public static void downloadFile(HttpServletRequest request,
HttpServletResponse response, String fileName)
{
if (StringUtils.isEmpty(fileName))
{
return;
}
//导出文件路径
String filePath = PlatformConfig.getUseDataPath() + Constants.EXPORT_PATH + fileName;
// 处理中文名称,需要编码
response.setContentType("application/octet-stream; CHARSET=GBK");
InputStream inputStream = null;
OutputStream outputStream = null;
try
{
response.setHeader("Content-Disposition", "attachment; filename="
+ EncodingUtil.getString(fileName.getBytes("gbk"),
"ISO8859-1"));
inputStream = new FileInputStream(filePath);
outputStream = response.getOutputStream();
transferFile(inputStream, outputStream);
}
catch (FileNotFoundException e)
{
logger.error(e.toString());
}
catch (IOException e)
{
logger.error(e.toString());
}
finally
{
try
{
if (inputStream != null)
{
inputStream.close();
}
}
catch (Exception e)
{
logger.error(e.toString());
}
try
{
if (outputStream != null)
{
outputStream.close();
}
}
catch (Exception e)
{
logger.error(e.toString());
}
//删除临时导出文件
FileTools.delFile(filePath);
}
}
分享到:
相关推荐
这个压缩包文件"UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_源码.zip"主要涉及到两个常见的字符编码格式:UTF-8和GBK,以及如何在LabVIEW环境下进行编码转换。LabVIEW是美国国家仪器(NI)开发的一种图形化...
1. 字符识别:首先,需要识别输入的字节流是属于UTF-8还是GBK编码。可以通过字节的特定模式来判断,例如UTF-8的多字节字符以10开头,而GBK的每个字节都不是。 2. 字符解码:对于UTF-8,需要识别出字符的字节数,并...
GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...
本文将详细解析“简单的UTF-8与GBK之间相互转码工具”,并介绍相关的编码概念和实现方法。 首先,让我们理解编码的基础知识。字符编码是用来表示文本的规则,常见的有ASCII、GBK(GB2312的扩展)、UTF-8等。ASCII是...
在C语言中,字符编码是非常重要...通过`utf8gbk.h`和`utf8gbk.c`这两个文件,你可以直接在C程序中实现GBK与UTF-8的转换,从而满足项目的需求。不过,要注意,这些函数可能需要根据具体环境和需求进行适当的修改和优化。
### GBK与UTF-8转码(C++) #### 知识点概述 本文将详细介绍如何在Microsoft Foundation Classes (MFC)环境下实现GBK与UTF-8之间的编码转换。该技术适用于那些需要处理不同字符集数据的应用程序开发场景,特别是在...
在提供的压缩包中,包含了一个名为"批量文件转码工具(支持GBK,UTF-8 转换).pdf"的文件,这很可能是该工具的用户手册或说明文档。通过阅读这个文档,用户可以获得更详细的使用指导,包括具体的操作步骤、注意事项...
UTF-8和GBK是两种常见的字符编码标准,它们各自有不同的特点和应用场景。本文将详细介绍UTF-8和GBK编码,以及如何在.NET环境中进行这两种编码文件的互相转换。 首先,UTF-8是一种基于Unicode的字符编码方案,它能...
### Java程序转码(UTF-8):详细解析与实现 #### 一、引言 在处理文本数据时,字符编码是一项重要的技术基础。不同系统、不同语言环境下的字符编码可能不一致,这就需要进行字符编码转换以确保数据正确显示和处理...
例如,GBK编码在简体中文Windows系统中很常见,但在其他系统中可能无法识别,这就需要转码工具将其转换为更为通用的UTF-8编码。 标签"转码工具"明确指出了这个应用的主要功能,即提供字符编码转换的服务。这样的...
在处理UTF-8和GB2312之间的转码问题时,我们需要确保正确地转换每个字符的编码,以避免乱码情况的发生。转码过程通常包括两个步骤:解码和编码。首先,我们需要将UTF-8编码的字符串解码为Unicode,然后将Unicode转换...
在VB6.0编程环境中,有时我们需要处理不同字符编码之间的转换,例如将UTF-8编码的字符串转换为GB2312编码。UTF-8是一种广泛使用的Unicode编码,而GB2312是中国大陆常用的简体中文字符集,主要用于早期的计算机系统。...
本篇文章将详细解析这两种编码方式以及如何进行转换,特别是针对“转码工具gbk转utf-8,支持批量”这一主题。 首先,GBK(Great Chinese Coding)是一种中文扩展的编码标准,它是GB2312的升级版,包含了更多的汉字...
在提供的压缩包文件“批量文件转码工具”中,我们可以期待找到一个能够帮助我们方便快捷地处理GBK和UTF-8编码转换问题的实用工具。这个工具可能包括了选择文件、设置目标编码、开始转换等一系列功能,并且已经有人...
所以,你看到的绝大多数转字符集的程序,都是GBK->UTF-8,GBK->BIG5,这种,必须要你提前知道你的文本是什么编码,否则就会乱码。而且,转过一次的文本,再转一次,也会乱码。 我在对比了诸多字符集探测库之后,...
老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBK转UTF-8
2. 指定源编码:用户需要知道或推断出原始文件的编码格式,是UTF-8还是GBK。 3. 选择目标编码:根据实际需求,选择希望转换成的编码格式。 4. 执行转码:工具会读取源文件,按照源编码解码,然后按照目标编码重新...
首先,我们需要理解UTF-8和GBK两种编码的区别。UTF-8是一种国际标准的多字节字符编码,可以表示Unicode字符集中的所有字符,广泛应用于互联网。GBK是中国大陆地区广泛使用的编码,它是GB2312的扩展,兼容大部分简体...
### 关于JAVA字符编码:Unicode, ISO-8859-1, GBK, UTF-8 编码及相互转换 在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码...
转码工具,如标题所言,是用来在GBK和UTF-8之间进行转换的软件。这种工具能够帮助用户解决由于编码不一致导致的乱码问题,比如在读取或写入文件时,如果编码格式没有正确匹配,就可能出现无法正常显示或保存文本的...