欢迎来到天天文库
浏览记录
ID:8907209
大小:165.39 KB
页数:5页
时间:2018-04-11
《javaweb在jsp中使用include指令导入带中文的html文件乱码问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、javaweb在jsp中使用include指令导入带中文的HTML文件乱码问题在jsp中会用%@include“文件名.后缀名”导入带中文的HTML文件时,最后编译浏览网页时会出现乱码问题。MyHtml.html代码文件:Index.jsp代码文件调试部署后在浏览器中浏览乱码:我们在打开tomcat下由jsp编译成对应的Java源码文件,此时发现这里面对应从HTML文件中导入部分的编译成的Java源码也是乱码的。这可以猜想,出现乱码的问题应该出现在把jsp文件转换成Java类的过程中。设置编码的代码有两个:pageEncoding和content
2、Type,他们有,以下区别:1、(第一次访问时)web容器将jsp编程成Java文件,这个阶段编译器会根据pageEncoding设置的编码来读取jsp文件,翻译成utf-8的Java类文件。,如果pageEncoding设置错误或者未设置,编译出来的Java文件就会出现乱码。2、由javac将Java类的源码编译成.class字节码文件,javac将用utf-8编码读取Java源码,编译成二进制文件。3、web容器载入class字节码文件,将内容输出到客户端,这一过程内容的编码为contentType设置的编码。可以分析出,出现乱码的问题是HT
3、ML文件并没指定pageEncoding的编码。有两种解决方法:方法1、在每个将要被指令引入的HTML文件前声明文件的pageEncoding的编码。即在标签前添加<%@pagepageEncoding=”utf-8”%>。尽管HTML无法识别该指令,但是通过include指令引入jsp之后就能起作用了。如下:方法二:在web.xml里统一配置pageEncoding的编码,在web-app标签里添加如下配置:htmlencoding4、ription>JSPConfiguration*.htmltrueUTF-8false5、oup>方法一和方法二原理是一样的,都是通过设置pageEncoding编码来指定jsp将html文件include时使用的编码。方法一和方法二任选一种即可,如果同时使用需要注意两个地方设置的pageEncoding编码必须一致,否则将会报如下编码不一致的错误:org.apache.jasper.JasperException:/in.html(line:1,column:2)Page-encodingspecifiedinjsp-property-group(UTF-8)isdifferentfromthatspeci
4、ription>JSPConfiguration*.htmltrueUTF-8false
5、oup>
6、fiedinpagedirective(GBK)
此文档下载收益归作者所有