jsp页面中文乱码

1.jsp页面中文乱码  
这种乱码最常见也最好解决
在page指令中添加页面内容和显示方式的设置,如下两种都可以:
 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
<%@ page language="java" import="java.util.*" ContentType="text/html;charset=gb2312"%> 
  有人会问pageEncoding和ContentType有什么区别,简单说 
  contentType指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码 
  pageEncoding指定JSP编写时所用的编码
2.表单提交中文乱码 
当用Request对象获取客户提交的汉字代码的时候,会出现乱码  
Method=”POST”
接收数据的文件中要加入<% request.setCharacterEncoding("gb2312");%>
3.中文作为参数传递乱码
new String(userName.getBytes("ISO-8859-1"), "gb2312")这句代码是转换编码格式的关键,这种转码方式还可以用在读取数据库中文乱码的转码!但要是原来的字符编码不是ISO-8859-1时这个方法就会失效,出错!
try{
   byte[] tempByte = gbStr.getBytes("GB2312");
   uniStr = new String(tempByte,"ISO8859_1");
   }catch(Exception ex){
   }
你也可以在直接的转换,首先你将获取的字符串用ISO-8859-1进行编码,然后将这个编码存放到一个字节数组中,然后将这个数组转化成字符串对象就可以了,例如:
String str=request.getParameter(“字符串”);
Byte B[]=str.getBytes(“ISO-8859-1”);
Str=new String(B);
4.读取cookie时出现乱码
写入cookie时先编码
Cookie nameCookie = new Cookie("name", java.net.URLEncoder.encode(strname,"GB2312"));
读取cookie时再解码
String name=java.net.URLDecoder.decode(name,"GB2312")

写入cookie时先编码,将汉字编码转换为Unicode编码,解决汉字乱码问题
读取cookie时再解码,将Unicode编码转换为汉字编码,解决汉字乱码问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值