java程序乱码和服务器上操作系统的编码有关系吗

java程序乱码和服务器上操作系统的编码有关系吗,第1张

这个路操作系统也有关系,如果没有指定编码,java 程序就会取系统的编码,建议设置成UTF-8编码。

两种在代码中解决乱码方法

1servlet中doGet方法:

String name = requestgetParameter("name");

String name = new String(requestgetParameter("name")getBytes("ISO8859-1"),"utf-8");

2使用过滤器解决乱码问题

在工程中新建Fliter过滤器文件

在doFliter方法中写入如下代码:

HttpServletRequest req = (HttpServletRequest)request;

3在开发工具eclipse文件编码设置:

1 点击windows。

2 在列表最下点击reference。

3 在reference界面点击Workspace

4 在右边的Tex file encoding点击Other。

5 选择对应编码即可。

6 建议使用UTF-8编码。

HTML应用变得越来越强大,有时会在浏览器中处理比较大的数据,并传回服务器,简单的get/post提交数据会变得比较慢,影响用户体验。如果对上传到数据先压缩一下再上传就可以节省上传时间。github上有一个JSZIP项目用JS实现了zip的常用的功能。jszip是基于文件结构的deflate压缩,下面来看一下代码。

上传大数据,采用Jszip默认压缩出的BASE64字符串,经过URL Encode处理后,提交到服务器。

private String zip = null;

//Jszip

public void zipUpload(){

if (zip == null) {

Systemoutprintln("zip is null");

return;

}

try {

byte[] data = javaxxmlbindDatatypeConverterparseBase64Binary(zip);

InputStream is = new ZipTool()readFile(new ByteArrayInputStream(data), "datatxt");

LineReader lr = new LineReader(new InputStreamReader(is));

String line = lrreadLine();

while (line != null) {

Systemoutprintln(line);

line = lrreadLine();

}

} catch (UnsupportedEncodingException e) {

eprintStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

ZipTool中的readFile方法的内容:

public InputStream readFile(InputStream zipFile, String filename) throws IOException {

ZipInputStream zis = new ZipInputStream(zipFile);

ZipEntry entry = zisgetNextEntry();

while (entry != null && (entryisDirectory() || !entrygetName()equalsIgnoreCase(filename))) {

entry = zisgetNextEntry();

}

if (entry == null) {

return null;

}

return zis;

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java程序乱码和服务器上操作系统的编码有关系吗

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情