GET方式传中文参数给Struts2 Action时出现乱码? 如:xxxAction.action?name=王 如何解决呢?
严格来说, URL的编码分成2部分。 URI的编码, 就是?之前的部分, 是UTF8表示的。 ?
后面的是内容决定的。 因此。但是, 中文在URL里直接送, 很容易出问题。 特别是经过apche, mod jk后,
一般会把中文部分使用URLEncode来编码。
server.xml - URIEncoding = "GBK or UTF-8"
不过依赖了容器,不爽
还是URLEncode好
写一个过滤器 filter,设置编码utf-8!
在eclipse建一个servlet,实现filter接口!
然后在web.xml 中servlet配置改成filter
package com.liuwg.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EnconfigFilter implements Filter {
private String enconfig = null;
public EnconfigFilter() {
super();
}
public void doFilter(ServletRequest request, ServletResponse
response, FilterChain filterChain) throws IOException, ServletException {
if(enconfig != null)
{
request.setCharacterEncoding(enconfig);//设置编码过滤
response.setCharacterEncoding(enconfig);//设置编码过滤
filterChain.doFilter(request, response);
}
}
public void init(FilterConfig filterConfig) throws ServletException
{
enconfig =
filterConfig.getInitParameter("enconfig");//从web.xml文件中获得配置的属性(在web.xml文
件中编码设置)
}
public void destroy() {
enconfig = null;
}
}
web.xml文件中
<filter>
<description>filter enconfig</description>
<display-name>filter enconfig</display-name>
<filter-name>enconfigFilter</filter-name>
<filter-class>com.liuwg.filter.EnconfigFilter</filter-class>
<init-param>
<param-name>enconfig</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>enconfigFilter</filter-name>
<url-pattern>/*.action</url-pattern>
</filter-mapping>
希望对你有帮助!
分享到:
相关推荐
URL参数中传递特殊字符处理方法 在进行 URL 参数传递时,需要处理特殊字符的编码问题。因为有些符号在 URL 中是不能直接传递的,需要使用他们的编码。以下是常见的 URL 特殊符号及编码: 1. + 号表示空格,编码为 ...
为了解决上述问题,我们可以编写一个函数,该函数接收一个字符串作为输入,并返回一个经过特殊字符处理后的字符串,使其可以安全地用于SQL查询中。以下是一个示例实现: ```csharp using System.Text; public ...
SQL 中特殊字符处理,处理在模糊查寻中特殊字符的替换
在Visual Basic(VB)编程语言中,字符处理是一项基本但重要的技能,特别是在处理文本数据时。这个编程环境提供了丰富的函数和方法来操作字符和字符串。以下是一些与字符处理相关的知识点,结合给定的代码片段进行说明...
C语言程序设计-从字符... 按不同字符处理; 例如:若程序执行时输入字符串为:turbocandborlandc++ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc++,如果输入的字符在字符串中不存在,则字 符串照原样输出;
本篇将详细阐述如何处理这些特殊字符,特别是针对`LIKE`操作的特殊字符。 首先,单引号(')是一个常见的特殊字符,它用于表示字符串的开始和结束。当需要在查询中使用单引号时,必须将其转义为双单引号(''),...
VB字符排版字符处理程序是一款基于Visual Basic (VB) 编程语言开发的应用,主要用于文本的格式化和处理。这个程序提供了多种实用功能,包括全角半角字符的转换、去除空行和回车符、以及重载文本等。下面将详细解释...
在iOS开发中,特殊字符处理是一项关键任务,尤其是在处理用户输入、存储数据或者网络通信时。Foundation框架和CoreFoundation框架提供了强大的支持来处理这些字符,确保数据的安全性和一致性。下面我们将详细探讨这...
逗号分隔字符串,Vc 字符处理示例源码, 以逗号为分隔点,自由任意拆分字符串,经常编写代码的朋友可能会想到Split,对,本代码就是使用Split函数实现分隔字符串,这相当实用,在日常编程中,对字符串的截娶过滤与...
这个是宽字符处理函数函数与普通函数对照表 对于VC宽字符开发的同学可能略有用处
《HyperStr字符处理控件源码深度解析》 在IT领域,高效地处理字符是许多应用程序的核心需求。HyperStr字符处理控件源码提供了一种高效的方法,它专为Delphi编程环境设计,旨在优化字符串操作,提升程序性能。本文将...
SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...
在数据库管理中,字符处理是一项基础且至关重要的任务。它涉及到数据的输入、存储、检索以及展示等多个环节,确保字符的正确处理对于数据的一致性和完整性至关重要。以下是一些关于数据库字符处理的关键知识点: 1....
在C语言中,宽字符处理函数是用于处理宽字符(如UTF-16或UTF-32编码的字符)的特殊函数,它们与处理普通字符(通常为ASCII编码的单字节字符)的函数有所不同。宽字符处理函数主要用于处理多语言环境和非ASCII字符集...
在PHP编程中,字符处理是日常开发中必不可少的一...在实际项目中,正确有效地使用字符处理类不仅可以提高代码的可读性和可维护性,还能提高程序的性能。因此,了解并熟练掌握这些工具对于任何PHP开发者都是至关重要的。
综上所述,JavaScript中的特殊字符处理涉及了转义、模板字符串、正则表达式、JSON格式、字符串方法以及编码解码等多个方面。熟练掌握这些知识点,有助于编写出更健壮、更安全的JavaScript代码。
在IT行业中,尤其是在Web开发领域,字符处理和乱码问题是一项至关重要的任务。字符处理涉及到文本数据的编码、解码以及在不同系统间传递时的兼容性问题,而乱码问题则是字符处理不当所引发的常见现象。让我们深入...
在C++编程中,宽字符处理是一个重要的概念,特别是在处理多语言环境,特别是中文字符时。宽字符通常指的是Unicode编码的字符,它们占用多个字节,以表示更广泛的字符集,包括非ASCII码的字符,如汉字。"zhongwen.rar...
文件操作与字符处理的例子 文件操作与字符处理是计算机科学和信息技术领域中的基础知识点。本文将从文件操作和字符处理两个方面展开,介绍相关的知识点。 文件操作 文件操作是指对文件进行读取、写入、删除、复制...