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

解决JavaWeb中文乱码有关问题的终级方案

2012-06-27 
解决JavaWeb中文乱码问题的终级方案?做JavaWeb开发时,中文乱码问题是最常见的问题之一,当时情况是这样的:J

解决JavaWeb中文乱码问题的终级方案

?

做JavaWeb开发时,中文乱码问题是最常见的问题之一,当时情况是这样的:JSP页面显示预定义的中文是没问题的,但是往数据库中插数据时,插入的是乱码,如???,然从数据库中调出数据,页面显示出来的也是乱码问题,开始以为是数据库的字符集的问题,后来将所有的JSP页面字符集设置成UTF-8也还是出现同样问题,因此在能设置字符集的地方都设置了,之后就显示中文字符正常了。

一、首先,是在JSP页面设置字符集:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ page ?contentType="text/html;charset=utf-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>


然后是在struts.xml中设置字符集:

<struts>

<constant name="struts.i18n.encoding" value="utf-8"></constant>

<include file="struts-default.xml" />

<package name="term" extends="struts-default">

....

</struts>

二、接着是在web.xml ?里配置

? <!--过滤器,struts2使用的-->

? ? <filter>

? ? <filter-name>struts</filter-name>

? ? <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

? ? <init-param>?

? ? <param-name>struts.i18n.encoding</param-name>?

? ? <param-value>UTF-8</param-value>

? ? </init-param>

三、必须在资源文件中配置,在classes文件夹中新建以下文件和内容:

struts2.properties

此资源文件内容如下:

struts.i18n.reload=true

struts.locale=zh_CN

struts.i18n.encoding=UTF-8

struts.url.includeParams=none

struts.devMode=true

四、在tomcat等服务器中解决字符编码问题,主要解决页面之前传参后中文乱码问题。

Tomcat 处理UTF-8字符时,需要在

Server.xml中添加 URIEncoding="UTF-8"

详细如下:

<Connector port="8080"

?maxThreads="150"

?minSpareThreads="25"

?maxSpareThreads="75"

?enableLookups="false"

?redirectPort="8443"

?acceptCount="100"

?debug="0"

?connectionTimeout="20000"

?disableUploadTimeout="true"

?URIEncoding="UTF-8"/>

五、最后是在Eclipse中设置,如果前面的方法足已解决乱码问题,这步可省去:

Windows->preferences->输入tomcat ? (改为)utf-8

Windows->preferences->输入jsp ? (改为)utf-8

?

热点排行