servlet中通过getWriter()获取out返回给浏览器出现中文乱码问题
2015-12-03 14:30
381 查看
在Servlet编程中,经常需要通过response对象将一些信息返回给浏览器,给我们的客户端,而我们在服务器端显示的中文,但是响应给客户端浏览器却是乱码,这主要是由于response对象的getWriter()方法返回的PrintWriter对象默认使用“ISO-8859-1”字符集编码进行Unicode字符串到字节数组的转换,由于ISO8859-1字符集中根本就没有包含中文字符,所以Java在进行转换的时候会将无效的字符编码输出给客户端,于是便出现了乱码,为此ServletResponse接口中便定义了setCharacterEncoding、setContentType等方法来指定getWriter方法返回的PrintWriter对象所使用的字符集编码,所以我们在写Servlet程序中,在调用getWriter方法之前设置这些方法的值。我们为了防止乱码,经常将以下两条语句一起写上:
response.setContentType(“text/html;charset=utf-8”);
response. setCharacterEncoding(“UTF-8”);
只要编写Servlet文件中含有响应给客户端的信息,那么就要写上这两句话。最好写上第二句话,因为它的优先级高,它的设置结果将覆盖setContentType等方法设置的字符编码集
response.setContentType(“text/html;charset=utf-8”);
response. setCharacterEncoding(“UTF-8”);
只要编写Servlet文件中含有响应给客户端的信息,那么就要写上这两句话。最好写上第二句话,因为它的优先级高,它的设置结果将覆盖setContentType等方法设置的字符编码集
相关文章推荐
- MTK Android software Tools工具的说明
- 通过pid获取程序路径
- python入门--切片,迭代,列表生成
- Linux多串口驱动
- ACPI I/O resource conflict with SMBus
- 如何在shell脚本中导出数组供子进程使用
- Good Bye 2014 D. New Year Santa Network 图论+期望
- jQuery数字,手机号,邮箱校验
- Qt对文件的操作,QTextStream
- iOS App 审核加速(插队)12h内100%成功!
- VC++ 解压有密码的.zip文件
- iOS---学习之WebView的使用
- tableView滚到最后一行
- web工程常见部署方式总结
- bzoj1013
- 程序退出的实现方法
- iOS开发之storyboard的小技巧
- Ext js 登录邮箱密码验证
- css3实践—创建3D立方体
- 世界上第一块儿硬盘长这样儿,硬盘59年发展史古董老硬盘让人咋舌让人惊叹!