JSP中文字符乱码处理的2种方法

  次阅读 来源:互联网(转载协议) 2016-03-01 10:56 我要评论(0)

在编写JSP程序时,常常会碰到中文字符处理的问题,在接受request的中文字符时显示出来一串乱码。网上处理方法一箩筐,下面说说我用过的两种有效地解决办法:

1.为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它,

<%!

public String codeToString(String str)

{

String s=str;

try

{

byte temp[]=s.getBytes("ISO-8859-1");

s=new String(temp);

return s;

}

catch(Exception e)

{

return s;

}

}

%>

要转换时只需:coedeToString(request.getParameter(..));就可以了,很好用的。

2.一种普遍适用的方法,加一个过滤器,之后就可以过上一劳永逸的日子了。

package filters;

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;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletRequestWrapper;

public class TomcatFormFilter implements Filter {

/**

* Request.java

* 对 HttpServletRequestWrapper 进行扩充, 不影响原来的功能并能提供所

有的 HttpServletRequest

* 接口中的功能. 它可以统一的对 Tomcat 默认设置下的中文问题进行解决而只

需要用新的 Request 对象替换页面中的

* request 对象即可.

*/

class Request extends HttpServletRequestWrapper

{

public Request(HttpServletRequest request) {

super(request);

}

/**

* 转换由表单读取的数据的内码.

* 从 ISO 字符转到 GBK.

*/

public String toChi(String input) {

try {

byte[] bytes = input.getBytes("ISO8859-1");

return new String(bytes, "GBK");

}

catch (Exception ex) {

}

return null;

}

/**

* Return the HttpServletRequest holded by this object.

*/

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...