jsp中汉字显示乱码的问题

问题描述

程序代码如下:<%@pagelanguage="java"contentType="text/html;charset=GB2312"pageEncoding="GB2312"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><body><formaction="Example3_2_1.jsp"method="post"name="myform"><inputtype="text"name="girl"/><inputtype="submit"value="Enter"name="Submit"></form><%StringtextContent=request.getParameter("girl");if(textContent==null){textContent="";}request.setCharacterEncoding("GB2312");%><%=textContent%></body></html>运行后,如果在文本框中输入汉字,让其在浏览器上显示,显示出来的结果是乱码,这是为什么呢?代码应该如何修改,请教大家了,谢谢!

解决方案

解决方案二:
编码格式统一起来不要GB2312和utf-8都用,做好都用utf-8
解决方案三:
newString(FilmName.getBytes("iso8859-1"),"gbk");重新编码下酒可以了。格式自己定。代码如上
解决方案四:
用utf-8
解决方案五:
<%@pagelanguage="java"contentType="text/html;charset=GB2312"pageEncoding="GB2312"%>+<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">不乱码就奇怪了两句代码编码统一下
解决方案六:
我试过了,编码都统一了,可是还是乱码?这该咋办呢?
解决方案七:
<%@pagelanguage="java"contentType="text/html;charset=GB2312"pageEncoding="GB2312"%>该为GB2312->utf-8然后request.setCharacterEncoding("utf-8");或者你把这句去掉吧。如果你对一个值,重复用了转换,也会出现乱码,比如后台java文件里你已经转换了,到了前台jsp页面,你又转换。那么就会出现乱码。建议你统一都该成utf-8,这样的话,什么地方都不用转换了。也就不会出现乱码了。
解决方案八:
我按照您说的操作了一遍,把这句request.setCharacterEncoding("utf-8")去掉了。还是乱码。要不您给我写个例子,运行出来不是乱码的,我在我的电脑上调试下。谢谢!
解决方案九:
<%StringtextContent=request.getParameter("girl");if(textContent==null){textContent="";}request.setCharacterEncoding("GB2312");%>去看一下以上代码,先确认一下是在request.getParameter("girl");的时候乱码了,还是显示的时候乱码了。request.setCharacterEncoding("GB2312");这句话写上有用吗?
解决方案十:
把文件的属性改成utf-8,然后再把jsp的编码格式改成utf-8,试试,祝你好运!。。。
解决方案十一:
其实在统一了界面上的编码外,最好写一个语言过滤器,如果用到struts2,可以直接在web.xml中配置用struts2自带的语言过滤器,<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>如果没用的话,可以自己写一个过滤器再配置好;packagecom.util;importjava.io.IOException;importjava.util.Enumeration;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/**编码规范过滤器:统一用utf-8*@authorAdministrator**/publicclassCodeFiltersimplementsFilter{publicvoiddestroy(){//TODOAuto-generatedmethodstub}publicvoiddoFilter(ServletRequestsreq,ServletResponsesresp,FilterChainchain)throwsIOException,ServletException{HttpServletRequestreq=(HttpServletRequest)sreq;HttpServletResponseresp=(HttpServletResponse)sresp;Stringmethod=req.getMethod();if(method.equalsIgnoreCase("post")){req.setCharacterEncoding("utf-8");}else{Enumerationration=req.getParameterNames();while(ration.hasMoreElements()){Stringkey=ration.nextElement().toString();String[]value=req.getParameterValues(key);for(Stringstring:value){string=newString(string.getBytes("iso8859-1"),"utf-8");}}}resp.setCharacterEncoding("utf-8");chain.doFilter(req,resp);}publicvoidinit(FilterConfigarg0)throwsServletException{//TODOAuto-generatedmethodstub}}web.xml:<!--配置语言过滤器--><filter><filter-name>encode</filter-name><filter-class>com.util.CodeFilters</filter-class></filter><filter-mapping><filter-name>encode</filter-name><url-pattern>/*</url-pattern></filter-mapping>
解决方案十二:
根本不用那么麻烦的因为你的页面已经变成了CLASS文件有些编译软件已经把整个文件识别为一个编码所以统一了还是会这样你可以试着吧你的代码先复制到写字板,然后统一代码,保存。删除原有的页面和在运行环境里面运行过的页面全部清除。在把这个写字板改为JSP文件丢进去运行OK要是还有问题那么就去找个软件直接转码也可以一般的编程软件都有这个功能。以后要注意页面传值各个类XML配置文件数据库的编译格式最好全部一致可以减少很多的乱码问题
解决方案十三:
曾经linux血和泪的教训啊!经验之谈,上面大家给的方法都是对的,但是有时候有些问题比较偏的。编译过的文件很多是稀奇古怪的。楼主学到别忘记给分!
解决方案十四:
页面编码用用utf-8
解决方案十五:
GB2312是Utf-8编码格式的一个子集,编码可以从GB2312转到Utf-8,但是转回来肯定会出现乱码。。。

时间: 2024-08-01 18:33:42

jsp中汉字显示乱码的问题的相关文章

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

完美解决JS中汉字显示乱码问题(已解决)_基础知识

如题,刚才看了几篇大家的讨论,忽然也想起要将自己最近研究的问题贴出来,凡是和JS中乱码相关的问题都发到这里把,大家一起研究.:) 场景一:write写出来的内容是utf-8格式的,如果保存的write数据中有不是utf-8编码的中文,对write嵌套俩次以上就会有乱码.由于手头没有现成的文件,刚才临时制作了一个,这是1.htm页面的代码:  复制代码 代码如下: <html>  <head>  <meta http-equiv="Content-Type"

通过网页查看JS源码中汉字显示乱码的解决方法_javascript技巧

前言 在网页中读取js文件,中文显示正常(比如alert出js文件的中文信息).但当浏览器查看js文件源代码时,则会看到代码里的中文全是乱码.虽然不影响程序运行,但是在读js文件代码时,会受影响. 前几天在浏览器查看自己写的web代码的时候,发现外联js文件的汉字注释显示为乱码,如下图所示: 这种瑕疵对于有轻微强迫症+代码洁癖的人来说是不可容忍的 本来还以为是js文件没保存UTF-8格式,又把js文件重新保存了一遍 可惜,然并卵... 不过,最后还是被我找到原因了. 其实这个只是浏览器设置问题,

PLSQL中汉字显示乱码问题

     首先执行语句 select * from V$NLS_PARAMETERS  查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINESE.如果不是,需要设置环境变量.          1.右击我的电脑,选择属性,如下图:         2.选择高级系统设置,如下图:         3."高级"选项卡,点击环境变量,如下图:         4.在系统变量处点击"新建",设置变量名:NL

技巧:JSP中处理中文乱码的详细讲解

js|技巧|中文|中文乱码 在jsp中,中文乱码常会让人心乱如麻. 对于中文处理的常见对策,在网上经常可见的主要是下面2种: <%@ page contentType="text/html;charset=gb2312" %> 或者: <% String Hi="你好"; byte[] tmpbyte=Hi.getBytes("ISO8859_1"); Hi=new String(tmpbyte); out.print(Hi);

jsp mysql 乱码-jsp连接数据库中文显示乱码

问题描述 jsp连接数据库中文显示乱码 在网页中向mysql添加中文数据,再从数据库中获取此数据并在网页上显示,结果中文显示的是乱码,数据库中显示的也是乱码,请问该怎么解决? 解决方案 request.setCharacterEncoding 解决方案二: 检查jsp和服务器端的编码是否一致,服务器端与数据库安装环境是否一致,安装环境与数据库的编码是否一致(可以通过客户端添加数据,看是否乱码). 解决方案三: 直接弄一个SpringMVC的字符接拦截器,把所有的都编码成UTF-8 解决方案四:

utf-8-我所有该设置UTF-8的地方都设置了,但是JSP页面还是显示乱码

问题描述 我所有该设置UTF-8的地方都设置了,但是JSP页面还是显示乱码 <%@page language=""java"" pageEncoding=""UTF-8""%><%@page contentType=""text/html; charset=UTF-8"" %> request.setCharacterEncoding(""ut

一个不错的C# Telnet类库(改进了汉字显示乱码的问题)

园友e-shizhan给出了一个不错的C# Telnet类库,但存在汉字显示乱码的问题,本人做了改进,希望对大家有用. 原文:http://www.cnblogs.com/eshizhan/archive/2010/06/03/1750661.html?login=1 原文代码:http://files.cnblogs.com/eshizhan/telnet.zip //调用方法如下:Telnet p = new Telnet("192.168.1.100", 23, 50); if(

字符编码-操作系统中汉字出现乱码

问题描述 操作系统中汉字出现乱码 服务器操作系统中出现如下问题:U盘插入后,U盘名称为乱码:在CMD控制台中不能键入汉字,复制进去的汉字会变成"?":在记事本中编辑汉字后保存,会提示"该文件含有Unicode格式的字符,当文件保存为ANSI编码的文本文件时,该字符将丢失.",需要在编码列表中选择Unicode项后才能保存.请问这些情况是什么原因造成的,如何解决?