当前位置: 首页 > 编程笔记 >

Java Web开发项目中中文乱码解决方法汇总

萧胜
2023-03-14
本文向大家介绍Java Web开发项目中中文乱码解决方法汇总,包括了Java Web开发项目中中文乱码解决方法汇总的使用技巧和注意事项,需要的朋友参考一下

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"%>
<html>
<head>
<title>输入表单</title>
</head>
<body>
<form id="inputForm" name="inputForm" method="post" action="display.jsp">
  用户名:<input type="text" name="username"/><br/>
  密 码 :<input type="password" name="password"/><br/>
  <input type="submit" name="submit" value="提交"/>
</form>
</body>
</html>

接收参数的jsp代码如下:

<% @ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<tilte>接收表单</title>
</head>
<body>
  <% 在这里插入
   request.setCharacterEncoding("utf-8");
  %>
  用户名:<%=request.getParameter("username")%><br/>
  密  码:<%=request.getParameter("password")%><br/>
</body>
</html>

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

第四种情况:URI方式传递参数乱码
问题描述:使用表单传递参数,可以通过post或get方式,不适用表单,还可以使用链接方式传递参数,这种传递参数方式本质上就是get方式传递参数,这种方式中传递的参数出现中文时也可能出现乱码。

如:

<a href="/webproject/display.jsp?username=张三&password=123">显示用户名和密码</a>

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

<Connector port="8080" protocol="HTTP/1.1"
  maxThreads="150" connectionTimeout="200000"
  redirecPort="8443"/>

修改后内容:

<Connector port="8080" protocol="HTTP/1.1"
  maxThreads="150" connectionTimeout="200000"
  redirecPort="8443" URIEncoding="utf-8"/>

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

第五种情况:
问题描述:在使用一些类库或者框架时,为了实现页面内容国际化,需要编写对应的properties文件。而properties文件中的中文内容在显示的时候也会出现乱码。
解决方法:这个乱码问题可以通过jdk中的native2ascii工具解决。使用如下命令:

native2ascii   -encoding   utf-8  display.properties    display_zh_CN.properties

出现乱码问题的原因是因为java编译器只能处理Latin-1或unicode编码的字符文件。

以上就是本文的全部内容,希望对大家的学习有所帮助。

 类似资料:
  • 本文向大家介绍springmvc 发送ajax出现中文乱码的解决方法汇总,包括了springmvc 发送ajax出现中文乱码的解决方法汇总的使用技巧和注意事项,需要的朋友参考一下 使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法。  我使用的是sping-web-3.2.2,jar

  • 本文向大家介绍javaWEB中前后台乱码问题的解决方法总结,包括了javaWEB中前后台乱码问题的解决方法总结的使用技巧和注意事项,需要的朋友参考一下 JAVA中几种常见的编码格式及含义: ASCII 码 学过计算机的人都知道 ASCII 码,总共有 128 个,用一个字节的低 7 位表示,0~31 是控制字符如换行回车删除等;32~126 是打印字符,可以通过键盘输入并且能够显示出来。 ISO-

  • 本文向大家介绍php中文乱码问题的终极解决方案汇总,包括了php中文乱码问题的终极解决方案汇总的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于php中文乱码问题的终极解决方案,分享出来供大家参考学习,在开始之前,我们先来谈谈为什么会出现中文乱码? 很多新手朋友学习PHP的时候,发现程序中的中文在输出的时候会出现乱码的问题,那么为什么会出现这种乱码的情况呢?一般来说,乱码的出

  • 本文向大家介绍python开发环境PyScripter中文乱码问题解决方案,包括了python开发环境PyScripter中文乱码问题解决方案的使用技巧和注意事项,需要的朋友参考一下 PyScripter看起来还是挺不错的一个python ide 环境: PyScripter 2.6.0.0 python3.4 问题: PyScripter有个小坑,打开文件后中文都成了乱码。在PyScripter

  • 本文向大家介绍java 中的乱码问题汇总及解决方案,包括了java 中的乱码问题汇总及解决方案的使用技巧和注意事项,需要的朋友参考一下 java中的乱码问题        最近做项目经常会遇到Java中的乱码问题,于是就抽时间整理下出现乱码问题的情况和如何处理,这里做了一个整理, 分析 编码与解码     编码就是将字符转为字节,解码就是就是将字节转换为字符。 字节流与字符流     对文件的读写

  • 本文向大家介绍Java中URL传中文时乱码的解决方法,包括了Java中URL传中文时乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题。 解决办法 1、