为了账号安全,请及时绑定邮箱和手机立即绑定

JSP中utf-8中文乱码问题。。。

JSP中utf-8中文乱码问题。。。

SMILET 2019-03-15 22:15:21
我就不明白了。。我写了两个jsp文件,编码均为utf-8,一个就能正常显示中文,另一个则不能。。。求解啊正常显示中文的jsp:<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>站内检索索引建立页面</title><script type="text/javascript">    function checkForm(form){        if(form.toIndexPage.value==""||form.toIndexPage.value==null){            alert("请输入要建立索引的网站!");            form.toIndexPage.focus();            return false;        }        else            return true;    }</script></head><body><form action="<%=request.getContextPath()%>/IndexServlet"     METHOD="post" onsubmit="return checkForm(this)">  <%--查询表单  10行--%><B>输入要建立索引的网站:</B><INPUT TYPE=text NAME="toIndexPage" SIZE=30 VALUE=""><INPUT TYPE=submit VALUE="查询"></form></body></html>乱码显示中文的jsp<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*,java.util.*,java.text.*" pageEncoding="utf-8" %><% request.setCharacterEncoding("utf-8"); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>站内检索系统检索页面</title><style type="text/css"><!--.STYLE1 {    font-family: "仿宋";    font-size: 18px;}.STYLE2 {    font-family: "黑体";    font-weight: bold;}--></style></head><body><div>  <div align="center" class="STYLE2">    <h1>站内检索系统</h1>  </div></div><div>  <p align="center" class="STYLE1">索引建立成功:<%=request.getAttribute("WebName") %></p>  <p align="center" class="STYLE1">请输入检索内容:    <input type="text" name="textfield" />    <input type="submit" name="Submit" value="检索" />  </p></div><div>  <div align="center">当前时间:<%String mydate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());%>     
查看完整描述

5 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

大概是因为一个是utf-8编码,一个是utf-8 +bom的编码,两种的区别在视觉上是看不出来的。你放到eclipse中统一改成utf-8的就好了。


查看完整回答
反对 回复 2019-04-15
?
富国沪深

TA贡献1790条经验 获得超9个赞

查一下JSP文件自身编码


查看完整回答
反对 回复 2019-04-15
?
函数式编程

TA贡献1807条经验 获得超9个赞

请问是不是这一句代码生成的文字是乱码?

<%=request.getAttribute("WebName") %></p>

JSP里面通过request传送参数之后,会自动变为ISO8859-1的编码,所以从request中读取参数的时候,还需要设置这个取值的编码为UTF-8。

你可以看看JSP的教材上应该有讲解。

我也已经很久没有接触过JavaWeb了,如果有错误,还希望多多指教!


查看完整回答
反对 回复 2019-04-15
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

jsp文件自身的编码。如果你用myeclipse编写的话,要去修改一下新建文件时的默认编码。


查看完整回答
反对 回复 2019-04-15
  • 5 回答
  • 0 关注
  • 852 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信