日期:2014-05-17  浏览次数:20760 次

一个中文乱码问题我第一次遇到,郁闷,求大仙。。。

利用这种方法从action中取出值 然后再提交到action中为什么是乱码? 
下面是提交的代码:
<s:url action="managerhospitalmedicine.action" id = "first_pre">  
  <s:param name="pageNow" value="1" />  
  <s:param name="pageSize" value="15" />
  <s:param name="m_hospital" value="m_hospital"/>
  <s:param name="m_name" value="m_name" />
</s:url> 


------解决方案--------------------
昨天刚解决的:
主要是Tomcat默认编码的问题:

如果页面是gb2312格式:则在Tomcat 中的server.xml中 加上如下红色部分
 
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
 
 
 
如果是UTF-8编码,则设为 URIEncoding="UTF-8"
 

------解决方案--------------------
1 楼说 的方法也可以,在就是在strtus.xml 中配置 

<!-- 处理乱码 -->
<constant name="struts.i18n.encoding" value="gbk"></constant>

在就是写过滤器 了啊
------解决方案--------------------
请把该路径对应的struts.xml贴出来。

如果使用了type = redirect 试试换成type = chain试试、

要么就换成
XML code

<result name="SUCCESS" type="redirect">  
   <param name="location">yourAction.action</param>  
   <param name="parameter">${parameter}</param>   
</result>