Servlet的几种(out)输出流编码设置

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Servlet的几种输出流编码设置在很多场合会发现我们输出的中文是乱码,这主要可能有两方面的原因:一个是浏览器的解析方式,另一个是我们服务器端返回数据的方式。只要我们保证浏览器的解析方式和我们回显的数据的编码格式是一致的,基本上乱码问题就可以得到解决。大多数数情况下,浏览器的默认编码方式是utf-8,因此我们只要设置服务器返回的数据的编码方式也是utf-8即可。

Servlet的几种输出流编码设置

在很多场合会发现我们输出的中文是乱码,这主要可能有两方面的原因:


一个是浏览器的解析方式,另一个是我们服务器端返回数据的方式。只要我们保证浏览器的解析方式和我们回显的数据的编码格式是一致的,基本上乱码问题就可以得到解决。大多数数情况下,浏览器的默认编码方式是utf-8,因此我们只要设置服务器返回的数据的编码方式也是utf-8即可。


1、response.setCharacterEncoding(“UTF-8”);

  • 第一种方法只能用来设置out输出流中所采用的编码,但是它的优先权最高,可以覆盖后面两种方法中的设置;

2、response.setContentType(“text/html;charset=UTF-8”);

  • 第二中方法可以设置out输出流中字符的编码方式,也可以设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,但高于第三种方法


  • 这种方法通知response以UTF-8输出和浏览器以UTF-8打开。即等价于


  • response.setHeader(“content-type”, “text/html;charset=UTF-8”); (通知浏览器以utf-8解析) 和response.setCharacterEncoding(“UTF-8”);


  • 注意第二句句需要写在PrintWriter out = response.getWriter();的前面,如果拿到字符流后再设置编码是没有用的。

3、response.setLocale(new java.util.Locale(“zh”,“CN”));

  • 第三种方法只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经使用前两种方法中的一个设置了编码方式以后,它就被覆盖而不起作用了。

4.response.setHeader(“content-type”, “text/html;charset=UTF-8”);

  • 通知浏览器以utf-8解析
  • response.setHeader 设置请求头
目录
相关文章
|
8月前
|
Unix 应用服务中间件 Linux
Servlet 教程 之 Servlet 环境设置 2
该教程介绍了如何设置Servlet环境,推荐使用Apache Tomcat作为Web应用服务器。从Apache官网下载Tomcat,解压并设置CATALINA_HOME环境变量。在Windows上通过`startup.bat`启动,在Unix上使用`startup.sh`。访问`http://localhost:8080/`可检查Tomcat是否正常运行。使用`shutdown.bat`或`shutdown.sh`停止服务。更多配置信息可参考Tomcat文档或官网。
59 6
|
8月前
|
Java Unix 开发工具
Servlet 教程 之 Servlet 环境设置 1
Servlet开发环境设置涉及Java SDK的下载与配置,包括设置PATH和JAVA_HOME环境变量。从Oracle官网获取Java SDK后,需根据系统类型(如Windows或Unix)正确指定路径。在Windows中,可修改系统变量;在Unix上,更新.cshrc文件。确保IDE如Eclipse能识别Java路径。参考链接提供Eclipse的特定配置指南。
65 5
|
8月前
|
Unix Java 编译器
Servlet 教程 之 Servlet 环境设置 3
在Windows和Unix上配置Servlet环境涉及设置CLASSPATH。在Windows的`autoexec.bat`或"环境变量"中添加CATALINA路径和`servlet-api.jar`。在Unix的`.cshrc`文件中设置相同环境变量。别忘了将开发目录也添加到CLASSPATH。例如:`C:\ServletDevel`(Windows)或`/user/ServletDevel`(UNIX)。
48 5
|
XML Java 应用服务中间件
Servlet简介和环境设置
Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。 总而言之,Servlet 是用于处理 Web 请求和响应的标准 Java 技术,是 Web 应用程序开发不可或缺的组成部分。
81 0
|
Java API 容器
Servlet_输出流jsp注意事项
订阅专栏 Servlet输出流两种方法以及注意事项 HTTP 响应码 以及 各自对应解释 关于 Web API 技术标准的开发文档网站(https://developer.mozilla.org)
182 0
|
Java 应用服务中间件
Mac配置Tomcat及Servlet虚拟目录设置
Mac配置Tomcat及Servlet虚拟目录设置
321 0
Mac配置Tomcat及Servlet虚拟目录设置
|
容器 Java 前端开发
|
编解码 Java 应用服务中间件