当使用JSP引入外部文件时,有可能因为字符编码不一致导致引入的文件出现乱码。下面是一种解决方案。
当使用JSP引入外部文件时,有可能因为字符编码不一致导致引入的文件出现乱码。下面是一种解决方案。
一、问题描述
当在一个JSP页面中引入一个外部文件时,例如在header.jsp文件中引入了footer.jsp文件:
然后我们发现,引入的footer.jsp文件出现了乱码,而且这个乱码不是正常的中文或英文乱码,而是类似于“%82%71%ED%5D%40”等特殊字符的乱码。
这是因为在header.jsp和footer.jsp文件的字符编码不匹配所造成的。
二、解决方案
1.使用pageEncoding属性
在jsp引入文件的时候,使用pageEncoding属性指定编码,例如:
这样就可以避免由于字符编码不匹配而引起的乱码问题。
2.在引入的文件中设置字符编码
另外的解决方案是在引入的footer.jsp文件中设置字符编码:
这样就可以保证引入的footer.jsp文件中的中文不会乱码。
三、示例说明
示例一
在header.jsp文件中引入footer.jsp文件,并设置编码为UTF-8:
在footer.jsp文件中设置编码为UTF-8:
示例二
在header.jsp文件中引入footer.jsp文件,不设置编码:
在footer.jsp文件中设置编码为UTF-8:
此时在浏览器中查看页面发现footer.jsp文件中的文字出现乱码,但是如果我们在header.jsp文件中设置编码为UTF-8:
这样引入的footer.jsp文件就不会出现乱码了。