首页 > 后端开发 > 正文

java如何改变输出时编码

2024-06-16 16:57:47 | 我爱编程网

我爱编程网小编给大家带来了java如何改变输出时编码相关文章,一起来看一下吧。

本文目录一览:

java如何改变输出时编码

Java 修改编码格式的几种方式

主要分response的字节字符输出流和request接受中文参数doGet(),doPost()的设置四种.以及从服务器下载文件到浏览器的编码问题.

都是我学习java时总结的,希望能帮到你.

response的字节输出流:

// 设置浏览器默认打开的时候采用的字符集编码

response.setHeader("Content-Type", "text/html;charset=UTF-8");

// 设置中文转成字节数组的时候取出的编码

response.getOutputStream().write("如果不设置编码,这里就是乱码".getBytes("UTF-8"));

response的字符输出流:

//设置浏览器默认打开的时候采用的字符集编码,response的字符流的缓冲区的编码.

response.setContentType("text/html;charset=UTF-8");

response.getWriter().println("中文");

request的doGet()编码解决:

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");

System.out.println("GET方式:"+name);

request的doPost()编码解决:

request.setCharacterEncoding("UTF-8");

String name = request.getParameter("name");

System.out.println("POST方式:"+name);

下载文件时浏览器编码问题:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// 1.接收参数

String filename = new String(request.getParameter("filename").getBytes("ISO-8859-1"),"UTF-8");

System.out.println(filename);

// 2.完成文件下载:

// 2.1设置Content-Type头(获取文件的mime类型)

String type = this.getServletContext().getMimeType(filename);

//设置文件的mime类型

response.setHeader("Content-Type", type);

// 2.3web项目文件的绝对路径

String realPath = this.getServletContext().getRealPath("/download/"+filename);

// 获得浏览器的类型处理中文文件的乱码问题.(User-Agent:服务器收到客户端版本之类的一些信息)

String agent = request.getHeader("User-Agent");

System.out.println(agent);

if(agent.contains("Firefox")){

filename = base64EncodeFileName(filename);

}else{

//IE谷歌编码

filename = URLEncoder.encode(filename,"UTF-8");

}我爱编程网

// 2.2设置Content-Disposition头(固定写法,让浏览器必须下载,不能直接打开)

response.setHeader("Content-Disposition", "attachment;filename="+filename);

//获得文件

InputStream is = new FileInputStream(realPath);

// 获得response指定的方法获取输出流:如果用其他流是直接拷贝而不是下载

OutputStream os = response.getOutputStream();

int len = 0;

byte[] b = new byte[1024];

while((len = is.read(b))!= -1){

os.write(b, 0, len);

}

//响应流可以不关,在服务器做出相应后服务器会自动把response获得的流关闭

is.close();

}

//火狐

public static String base64EncodeFileName(String fileName) {

BASE64Encoder base64Encoder = new BASE64Encoder();

try {

return "=?UTF-8?B?"

+ new String(base64Encoder.encode(fileName

.getBytes("UTF-8"))) + "?=";

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

java如何改变输出时编码

java如何改变输出时编码

你的概念有问题,java 支持多种编码,在输入的时候就应该制定,不然就有问题,输出的时候倒是很简单。

这个例子是按“Cp1252"读入,转成"UTF-8"输出

String input = new String(dbString.getBytes("Cp1252"), "UTF-8")

byte[] output = input.getBytes("UTF-8");

for (byte b : output) {

System.out.format("0x%02x,", b);

}

java如何改变输出时编码

在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出

我爱编程网(https://www.52biancheng.com)小编还为大家带来在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出的相关内容。

很多种方法request.setCharacterEncoding("utf-8"); //设置输入编码格式

response.setContentType("text/html;charset=utf-8"); //设置输出编码格式

一般写个Servlet的过滤器

(getByte("ISO-8859-1"),"utf-8");在配置文件里面过滤.

以上就是我爱编程网小编给大家带来的java如何改变输出时编码,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“java如何改变输出时编码”相关推荐
javaweb运行时在程序编写页面出现如图所示的提示,错误在哪?如何修改?
javaweb运行时在程序编写页面出现如图所示的提示,错误在哪?如何修改?

javaweb运行时在程序编写页面出现如图所示的提示,错误在哪?如何修改?window->preferences然后找到你的tomcat所在的目录,打开launch窗口,然后修改tomcatlanuchmode为Runmode。然后点击Apply,最后点击OK.这样设置之后,以后服务器就是在runmode下运行了如何在Web浏览器中启用Java首先静态的html标签是无法直接

2024-06-28 20:42:41
在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出
在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出

在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出很多种方法request.setCharacterEncoding("utf-8");//设置输入编码格式response.setContentType("text/html;charset=utf-8");//设置输出编码格式一般写个Servlet的过滤器(getByte("ISO-8859-1"),"u

2024-06-10 22:53:11
如何在php的函数中再输出变量 - PHP进阶讨论
如何在php的函数中再输出变量 - PHP进阶讨论

如何在php的函数中再输出变量-PHP进阶讨论你可以这样foreach($vas$key=>$valur){??????????????????????????array_slice($value,0,8);??????????????????????????}不知道你说的是不是这个意思php数组怎么导入定义函数1、首先新建一个php文件,命名为test.php,用于讲解php如

2024-08-19 19:08:38
php生成乱码函数 PHP输出图像时乱码和错误
php生成乱码函数 PHP输出图像时乱码和错误

PHP输出图像时乱码和错误关键是在imagejpeg这个函数有两种情况:一、@imagejpeg($new_imgx,$d_photo);//将图像创建在项目文件夹中但不会在浏览器显示二、header("Content-type:image/jpeg");@imagejpeg($new_imgx);//可在浏览器上显示图像在不会在项目中建创建图像url过码后,p

2024-11-22 22:46:37
如何在CMD编译和运行JAVA代码?
如何在CMD编译和运行JAVA代码?

如何在CMD编译和运行JAVA代码?要想编译和运行java文件,很简单,只需要两个命令:(1)javac:作用:编译java文件;使用方法:javacHello.java,如果不出错的话,在与Hello.java同一目录下会生成一个Hello.class文件,这个class文件是操作系统能够使用和运行的文件。(2)java:作用:运行.class文件;使用方法:javaHello,如

2024-04-12 18:29:17
编写java程序时如何强制结束程序
编写java程序时如何强制结束程序

java停止执行程序如果在一个循环里,想退出这个循环请用break;如果在一个method中,想不执行下面的代码直接退出这个method请用return;如果你想要程序直接中断退出,不执行后面的任何代码,请用System.exit(0);java中终止程序的执行方案操作如下:(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。(2)

2024-06-19 05:34:55
用phpqrcode生成的二维码,如何让输出结果换行
用phpqrcode生成的二维码,如何让输出结果换行

php使用qrcode库生成二维码后,向二维码中心位置添加小图标,小图标色彩变暗最可能的原因就是logo图片是带alpha通道的图片也就是透明可以用imagealphablending设置一下色彩混合模式php怎样调用微信接口生成大尺寸二维码PHPQRCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:。下载官网提供

2024-08-12 19:10:04
php编写网页如何修改字体大小?
php编写网页如何修改字体大小?

php编写网页如何修改字体大小?需要准备的材料分别是:电脑、php编辑器、浏览器。1、首先,打开php编辑器,新建php文件,例如:index.php。2、在index.php中,将ContactUs调整为:<span>ContactUs</span>。3、浏览器运行index.php页面,此时会发现ContactUs的字体被调整了大小。ph

2024-10-07 02:51:40