解决JSP开发Web程序中文显示三种方法是什么?
来源:才华咖 本文已影响2.23W人
来源:才华咖 本文已影响2.23W人
方法一:最简单也是用的最多的方法
<%@ page language="java" pageEncoding="GBK" %>
或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。
这个方法用于jsp页面中的中文显示。
方法二:使用过滤器
过滤器使用主要针对表单提交,插入数据库的数据都是?号。这也是应为tomcat不按request所指定的编码进行编码,还是自作主张的采用默认编码方式iso-8859-1编码。
编写一个SetCharacterEncodingFilter类。
import ception;
import er;
import erChain;
import erConfig;
import letException;
import letRequest;
import letResponse;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void init(FilterConfig filterConfig) throws ServletException {
erConfig=filterConfig;
ding=nitParameter("encoding");
String value=nitParameter("ignore");
if(value==null)
re=true;
else if(lsIgnoreCase("true"))
re=true;
else
re=false;
}
public void doFilter(
ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO 自动生成方法存根
if (ignore (haracterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
haracterEncoding(encoding);
}
lter(request, response);
}
public void destroy() {
// TODO 自动生成方法存根
ding = null;
erConfig = null;
}
protected String selectEncoding(ServletRequest request) {
return (ding);
}
}
然后再加上
<!-- Set Character Encoding-->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>haracterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Set Character Encoding-->
使用过滤器的好处很多,特别是项目之中。
而且在使用国际化时就更有用了,只要在页面指定 <%@ page language="java" pageEncoding="UTF-8" %>,服务器就会根据本地Locale来显示正确的`字符集。
所以我特别推荐使用过滤器。
方法三:修改tomcat的文件中URIEncoding
<Connector debug="0" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"
port="80" redirectPort="8443" enableLookups="false" minSpareThreads="25" maxSpareThreads="75"
maxThreads="150" maxPostSize="0" URIEncoding="GBK" >
</Connector>
这个方法主要针对从url中获取字符串的问题。
在tomcat5.0及以上版本,post和get方法在处理编码时有所不同。如果你在url中获取中文就会出现?号。但在tomcat4.1版本没有问题,因为tomcat4.1的post和get方法在处理编码时是一样的。
proe工程图尺寸标注公差显示问题解决方法
ps在存储动作时显示灰色不能操作怎么解决方法
Java Web项目中解决中文乱码方法
Java Web项目中解决中文乱码的方法
IE打开新建选项卡很慢显示“正在连接”有什么解决方法
WinXP任务栏不显示打开窗口的解决方法
win7开机不显示输入法解决方法
spoolsvexe应用程序错误问题的解决方法
word文档几种不显示图片的解决方法
u盘不显示Windows10的解决方法
newspapers的中文是什么意思
spoolsv.exe应用程序错误的解决方法
Win10笔记本接显示器不显示的解决方法
Office Web Apps是什么
win2008 ASP显示500内部错误不能显示详细错误的解决方法
总结解决JSP开发Web程序中文显示三种方法
php开发高效的WEB系统的方法
WIN10 MTP USB驱动无法安装解决方法
芒种三候分别是什么
WindowsXP SP2十大常见故障和解决方法
使用php加apc实现上传进度条且在IE7下不显示的问题解决方法
Excel中设置显示当前的时间日期序号方法解析
高校校园内部WebServer无法访问解决方法
英语subject是什么中文意思
电脑显示屏不亮但是主机已开机怎么办-电脑显示屏不亮解决方法
PHP处理JSON字符串key缺少双引号的解决方法
WEB中使用PHP连接MySQL的方法
JQuery中Post传递中文出现乱码的解决方法有哪些
如何解决Linux安装GBK或GB2312程序显示乱码
PHP中json-encode格式中文问题解决办法
businesswoman的中文是什么
Java中基于Aspectwerkz的AOP开发
三种解决职场中年危机的方法
Java开发web的几种开发模式
解决JSP开发Web程序中文显示三种方法是什么?
关于Word打开WPS文档成乱码的解决方法
Word打开WPS文档成乱码的解决方法介绍
Word打开WPS文档成乱码的解决方法参考
php处理json时中文问题的解决方法
java程序员学习Flex和BlazeDS有什么好处