乱码问题

来源:互联网 发布:央视影音软件下载 编辑:程序博客网 时间:2024/04/29 10:32
 URIENcoding 设成GBK或GB2312 2. 表单中或传递字符串:本来输入的汉字是正常的,但是提交后再显示出来是乱码,因为提交的一般是 ISO8859编码,所以显示的时候要转成GB2312编码: String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1"); //rs.getString("news")为待转换的字符串 然后使用S字符串的值就可以了 3. 有的服务器端的语言环境如果设成简体中文的也可以解决此类问题 4. 插入数据库中的字符是乱码 看看数据库中支持的是何种编码方式,用类似2中的方式作一下转换即可。 5. 总之,用jsp开发,碰到乱码,你得分析是读的时候发生乱码,还是写的时候发生乱码,用2中的转换,基本就能解决问题,有些时候写的时候做一次转换,例如: String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1"); //读的时候在转换回来 String S=new String(rs.getString("news").getBytes("ISO8859_1"),"GB2312"); 或者把ISO8859-1和GB2312 的位置换一下,自己多试试,就能找到解决问题的办法。将乱码问题分为三类JSP页面显示中文乱码;表单提交乱码;数据库应用乱码1) JSP页面内输出中文时出现乱码 解决方案在JSP文件中使用page命令指定响应结果的MIME类型,如<%@ page language="java" contentType="text/html;charset=gb2312" %>2)表单提交乱码 表单提交时(post和Get方法),使用request.getParameter方法得到乱码,这是因为tomcat处理提交的参数时默认的是iso-8859-1,表单提交get和post处理乱码问题不同,下面分别说明。 (1)POST处理 对post提交的表单通过编写一个过滤器的方法来解决,过滤器在用户提交的数据被处理之前被调用,可以在这里改变参数的编码方式,过滤器的代码如下: