J2ee乱码问题

1.tomcat编码设置(在引用的server中的server.xml文件中):

<Connector connectionTimeout="20000" URIEncoding="UTF-8" port="8080" 
protocol="HTTP/1.1" redirectPort="8443"/>

2、JSP与页面参数之间的乱码

      JSP获取页面参数时一般采用系统默认的编码方式,如果页面参数的编码类型和系统默认的编码类型不一致,很可能就会出现乱码。解决这类乱码问题的基本方法 是在页面获取参数之前,强制指定request获取参数的编码方式:request.setCharacterEncoding("GBK")或 request.setCharacterEncoding("gb2312")。

  如果在JSP将变量输出到页面时出现了乱码,可以通过设置 response.setContentType("text/html;charset=GBK")或 response.setContentType("text/html;charset=gb2312")解决。

  如果不想在每个文件里都写这样两句话,更简洁的办法是使用Servlet规范中的过虑器指定编码,过滤器的在web.xml中的典型配置

 

3、Java与文件/流之间的乱码

  Java读写文件最常用的类是FileInputStream/FileOutputStream和FileReader /FileWriter。其中FileInputStream和FileOutputStream是基于字节流的,常用于读写二进制文件。读写字符文件建 议使用基于字符的FileReader和FileWriter,省去了字节与字符之间的转换。但这两个类的构造函数默认使用系统的编码方式,如果文件内容 与系统编码方式不一致,可能会出现乱码。在这种情况下,建议使用FileReader和FileWriter的父 类:InputStreamReader/OutputStreamWriter,它们也是基于字符的,但在构造函数中可以指定编码类 型:InputStreamReader(InputStream in, Charset cs) 和OutputStreamWriter(OutputStream out, Charset cs)。

 

4.时间绑定:

	protected void initBinder(HttpServletRequest request,
            ServletRequestDataBinder binder)
            throws Exception{
		SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd");
		binder.registerCustomEditor(Date.class,"startTime",new CustomDateEditor(format,true));
		binder.registerCustomEditor(Date.class,"endTime",new CustomDateEditor(format,true));
	}
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值