java – JSP / GlassFish:如何正确设置UTF-8编码
我正在寻求帮助,将堆叠中的所有图层都转换为UTF-8编码.
我找到了这篇好文章: http://www.javapractices.com/topic/TopicAction.do?Id=206 描述我需要担心编码的3个地方.由于我的(1)Oracle数据库当前设置为UTF-8,因此需要担心(2)浏览器和(3)服务器. 我也发现了这篇详细的文章 http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html#JSPServletRequest 我正在尝试遵循以下内容,但有一些关于实现的新手问题. 为了解决浏览器问题,我确保在每个JSP页面的顶部包含以下内容: <%@page pageEncoding="UTF-8"%> (供参考,见here). 为了解决服务器问题,我确保在发出request.getParameter()或request.getAttribute()语句之前在Java servlet和JSP页面中包含以下行: request.setCharacterEncoding("UTF-8"); 由于我使用的是GlassFish 3.1.2,我知道它默认不使用UTF-8,所以我需要以某种方式手动设置它. 我见过很多网站都在谈论一个名为glassfish-web.xml的文件.这是普通glassfish的一部分吗?我不知道在哪里找到它.我一直在WEB-INF文件夹中使用web.xml文件作为我的Web应用程序.有人可以帮我弄清楚我是否需??要修改这个web.xml文件,还是我需要找到或创建一个名为glassfish-web.xml的新文件来配置glassfish的编码? 我的web.xml文件以: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> ... 对于JSP / servlet请求,我在web.xml文件中包含以下行 <parameter-encoding default-charset="UTF-8"/> 可以放入web.xml文件吗?或者,它是否需要进入一些glassfish-web.xml文件? 对于JSP / servlet响应,我将以下内容放在我的web.xml文件中(参见接受的答案here):
我假设这些行只是在< web-app>之间插入和< / web-app>.但是,让我知道他们是否应该进入其他描述符(例如< glassfish-web-app>和< / glassfish-web-app>)? 我还在JSP< head>中添加了以下内容.部分: <meta http-equiv="content-type" content="text/html; charset=utf-8"> 有用的参考: How to get rid of WARNING: PWC4011: Unable to set request character encoding to UTF-8 https://stackoverflow.com/tags/servlet-filters/info https://wikis.oracle.com/display/GlassFish/FaqHttpRequestParameterEncoding 解决方法
glassfish-web.xml是您可以在WEB-INF文件夹中创建的文件.对于Glassfish 3.x,它必须与此类似:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> <glassfish-web-app> <jsp-config> </jsp-config> <parameter-encoding default-charset="UTF-8" /> </glassfish-web-app> 你是对的,参数编码设置必须在这个文件中,而不是在web.xml (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |