中国的垃圾问题

本文java web编程中国乱码解决,可以参照其他案件,相同的原理。

1.中国无法显示

一些Jsp在,中国根本无法显示。文字符集。

一定要保证文件头上写明:

<%@ page language = "java"  contentType = "text/html; charset = gb2312" %>
或者
<%@ page language = "java"   pageEncoding = "gb2312" %>

2.提交过程中的显示乱码

原理:中文參数提交时。server将其认成 ISO-8859-1 编码,而网页上显示的是GB2312 编码,两者不能兼容。有三种方法解决问题:

方法一:将其转成GB2312 格式,方法例如以下:

...
<%
String name = request.getParameter("stuname");
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
...
%>
...
缺点:此种方法必须对每个字符串进行转码,非常麻烦


方法二:直接改动 request 的编码

能够将 request 的编码改动为支持中文的编码,这样,整个页面中的请求,都能够自己主动转为中文。方法例如以下:

...
<%
request.setCharacterEncoding("gb2312");
String name = request.getParameter("stuname");
...
%>
...

注意的是,该方法要在取出值之前就设置 request 的编码,而且表单的提交方式是 post。可是。该方法必须对每个页面中进行 request 的设置,比較麻烦


方法三:利用过滤器

利用过滤器,能够对整个Web应用进行统一的编码过滤,比較方便。对于较大的项眼,这是一个好办法,在此只是为了引进更多...



版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/zfyouxi/p/4733601.html