首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

javaWeb编码有关问题

2012-10-25 
javaWeb编码问题1.调用JSP页面出现乱码:通过浏览器调用JSP页面,在浏览器中显示中文内容出现乱码。首先确认J

javaWeb编码问题

1.调用JSP页面出现乱码:

通过浏览器调用JSP页面,在浏览器中显示中文内容出现乱码。首先确认JSP文件在编辑器中保存为“UTF-8”,然后在JSP页面中添加“<%@ pageEncoding="UTF-8" %>”即可解决中文乱码问题。

2.调用Servlet页面显示乱码

通过浏览器调用Servlet,Servlet中通过PrintWriter输出地中文出现乱码。在Servlet使用response对象输出之前,先执行“response.setContentType("text/html;charset=utf-8")”

3.POST表单传递中文参数乱码

通过JSP页面、HTML页面或者Servlet中的表单元素提交参数给对应的JSP页面或者Servlet,接收者接收的中文参数值乱码。在接收POST提交的参数之前,使用“request.setCharacterEncoding("utf-8")”设定接收参数的内容使用utf-8编码更好的解决方法:使用过滤器技术。

4.URI方式传递参数乱码(就是在URL后面添加参数:http://localhost:8082/app/encode.do?name=靓仔)。

使用表单传递参数,可以通过POST或者GET方式。不使用表单,还可以使用链接方式传递参数,这种传递参数的方法本质上是GET方式传递参数,这种传递参数的值是中文,也会出现乱码(即使是使用了第3点解决乱码的方法),有一个解决方法:修改tomcat配置文件:进入“/conf/server.xml”文件,将以下配置修改(此方法不推荐,因为移植性相当差)
<Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443"/>
?修改后配置:
<Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
?在发送参数前对参数进行urlEncode,接收时使用java.net.URLDecoder.decode(String, "utf-8")

5.Properties文件乱码

在使用一些类库或者框架时(例如:JSTL Format标记库、Displaytag标记库和Struts框架),为了实现页面内容的国际化,需要编写对应的Properties文件,而Properties文件中的中文内容在显示的时候也会出现乱码。使用Eclipse插件“Properties Editor”:http://propedit.sourceforge/

热点排行