java语言 百分网手机站

Java Web项目中解决中文乱码的方法

时间:2020-09-16 14:21:14 java语言 我要投稿

Java Web项目中解决中文乱码的方法

  工作当中遇到的事情比较杂,因此涉及的知识点也很多。特别是乱码的问题,关于乱码的解决方法有哪些呢?下面是相关的知识,欢迎阅读。

  第一种情况:调用jsp页面中文显示乱码

  问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码。

  解决方法:首先确认本jsp在编辑器中保存文件内容时,使用的是utf-8的编码格式,然后在jsp页面的开始处添加<%@ pageEncoding="utf-8"%>就可以解决这种中文乱码问题

  第二种情况:调用servlet页面显示乱码

  问题描述:通过浏览器调用servlet,servlet在浏览器中显示的内容出现乱码。

  解决方法:在servlet使用response对象输出前,先执行response.setContentType("text/html;charset=utf-8");设定输出内容的.编码为utf-8。

  第三种情况:post表单传递参数乱码

  问题描述:通过jsp,html,或servlet中的表单元素把参数提交给对应的jsp或者servlet时,在接收的jsp或servlet中接收到的参数中文显示乱码。

  例如:提交jsp代码如下:<%@ page language="Java" pageEncoding="utf-8"%>接收参数的jsp代码如下:<% @  page language="java" pageEncoding="utf-8"%>接收表单 <% 在这里插入           request.setCharacterEncoding("utf-8");

  %>

  用户名:<%=request.getParameter("username")%>

  密 码:<%=request.getParameter("password")%>

  解决方法:在接收post提交的参数前,使用request.setCharacterEncoding("utf-8")设定接收参数的内容格式为utf-8编码。见接收表单中的插入内容即可。当然这种乱码问题最好使用中文过滤器的方法最好

  第四种情况:URI方式传递参数乱码

  问题描述:使用表单传递参数,可以通过post或get方式,不适用表单,还可以使用链接方式传递参数,这种传递参数方式本质上就是get方式传递参数,这种方式中传递的参数出现中文时也可能出现乱码。如:显示用户名和密码

  解决方法:问题本质是get方式传递的参数内容默认编码方式问ISO8859-1,而且使用request.setCharacterEncoding("utf-8")也无法解决问题,要解决这个问题,修改tomcat服务器的配置文件。修改tomcat目录下的conf/server.xml文件的第43行:修改前内容:

  修改后内容:

  这样就可以解决这种类型的乱码问题。

  第五种情况:

  问题描述:在使用一些类库或者框架时,为了实现页面内容国际化,需要编写对应的properties文件。而properties文件中的中文内容在显示的时候也会出现乱码。

  解决方法:这个乱码问题可以通过jdk中的native2ascii工具解决。使用如下命令:native2ascii -encoding utf-8 display.properties display_zh_CN.properties出现乱码问题的原因是因为java编译器只能处理Latin-1或unicode编码的字符文件。


【Java Web项目中解决中文乱码的方法】相关文章:

解决PHP中文乱码问题09-23

java如何解决乱码问题10-03

php如何解决中文乱码问题08-26

php中文乱码问题的解决方案09-08

java URL乱码的解决办法是什么11-29

Java读取、写入文件如何解决乱码问题09-29

Word文档出现乱码的解决方法11-08

php各种应用乱码问题的解决方法09-22

操作系统安装显示乱码的解决方法11-13

Java内存溢出的解决方法12-03