jsp中include使用html静态文件出现乱码问题
来源:互联网 发布:复变函数 知乎 编辑:程序博客网 时间:2024/05/17 02:10
问题:在jsp中include jsp动态页面不会产生乱码问题,可是如果include file="*.html"时候出现了中文乱码的问题
问题根源:pageEncoding的问题
解决方法:
1.修改html文件的pageEncoding属性
2.修改web.xm文件的配置
思路:
1.为什么使用使用jsp时不出错,而使用html的时候出错
原理:
这里include中的东西要先被读成二进制(这里用到一次编码,即encoding)然后再算到包含他的父jsp中,这个父jsp用的是什么编码格式呢,也是看encoding
一般myeclipse中自己生成的jsp文件有这么一行:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
这就说明了这个父jsp用的encoding格式是utf-8,那么这个include中的html的encoding也应该是utf-8
答案:
在jsp文件中包含一个jsp文件,2个文件都有上面一行page’标签‘,那么他们都是以utf-8的格式去解析,当然不会出错。
而在html中没有这一行东西,所以他就出错了,html中的
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
只是指定了到时候该程序发送到浏览器的时候,你浏览器按照utf-8的格式来搞,而现在在服务器我就已经因为编码的问题挂掉了。
所以应该怎么做呢,一可行的办法是在html文件的第一行加上
<span style="white-space:pre"></span><%@ page language="java" pageEncoding="utf-8"%>到时候这句话就被解析了,程序到这里就知道了以utf-8的格式来解析这段html代码,准确说应该是编码。
2.是不是可以跟request.setCharacterEncoding()一样来通过修改配置文件呢?
答:可以的,这个可以在web.xml中修改,网上的一些答案,答案是给出来的,怎么来的呢,看着有些复杂,这里分析一下,就不复杂了。
首先,配置web.xml文件嘛,就要知道一个web程序,他的web.xml文件由两部分组成,一部分在WEB-INF目录下的web.xml,也就是最亲近的,我们最常用的那个配置文件;另外一部分他在tomcat里面存放着,当WEB-INF下没有web.xml文件,或者说是WEB-INF下的web.xml文件中有些属性没有指明,那么这些配置,用的都是这个默认的web.xml配置文件。这个文件他在%CATALINA_HOME%/conf/下
现在我要修改include html文件的读取(编码)格式,怎么改,我想法就是先去找这个web.xml文件,然后去看下他原先怎么写的,然后把他原先写的拷过来,修改一下编码格式,放到当前的web.xml中(覆盖,并且保证其他相关的不变)。可是并没有这个到<jsp-config>这个标签,那么好,既然没找到,就说明我可以不去管其他属性了,应该默认的那都没有设置,那我重写<jsp-config>标签的时候就不用担心把原本有用的配置给覆盖了。那就直接在web,xml文件里面的<web-app>节点内加上:
<span style="white-space:pre"></span><jsp-config><jsp-property-group><url-pattern>*.html</url-pattern><page-encoding>UTF-8</page-encoding></jsp-property-group></jsp-config>其他写多了也是废话,,,这样更清晰,什么意思一看就明白。
这里在html中的
<span style="white-space:pre"></span><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">别忘了,不然在服务器没问题了,到了客户端挂了。
- jsp中include使用html静态文件出现乱码问题
- JSP中include静态文件HTML出乱码解决方案
- JSP中include静态文件HTML出乱码解决方案
- JSP中include静态文件HTML出乱码解决方案
- JSP中include静态文件HTML出乱码解决方案
- java web 在jsp中使用include指令导入带中文的HTML文件乱码问题
- JSP中include文件出现乱码解决
- jsp中include html中文乱码问题
- JSP include HTML出现乱码
- jsp中的include静态页面出现乱码问题
- 使用jsp include标签包含静态页面出现的乱码问题
- 关于jsp include html文件导致中文乱码的问题
- jsp:include包含txt文件出现乱码问题
- jsp:include html文件乱码的解决办法
- jsp:include html文件乱码的解决办法
- jsp:include html文件乱码的解决办法
- jsp里include html文件中文乱码
- 关于jsp include引用HTML乱码问题
- php实现一段非常有意思的代码(可扩展)
- hiho一下 第一周
- Java中的locale设定
- Asp.net防止盗链
- 我的代数充能01
- jsp中include使用html静态文件出现乱码问题
- [AUTONAVx][lec3]3D Geometry and Sensors
- 6.1学习内容 ndk编程释放内存,C语言中char*添加字符得方法,java二维数组的读取与生成
- 遗传算法代码
- android studio 给module配置git集成路径,再也不用小乌龟,再也不用sourcetree啦,速度杠杠滴
- opencv & qt study-(2)-打开video& camera
- myeclipse取消js校验
- LeetCode解题报告--ZigZag Conversion
- Python Show-Me-the-Code 第 0021题 密码加密