关于乱码的问题

问题描述

我在jsp页面中将输入的用户名的密码提交到servlet中,提交时用户名输入的是中文,这是我获得参数的代码StringuserName=request.getParameter("userName");我用userName=newString(userName.getBytes("gb2312"),"UTF-8")来设置编码,但为什么还会出现乱码

解决方案

解决方案二:
我说一下几种解决乱码的方式:你看一下对你有没有用:1.在页面设置编码方式:UTF-82.写一个字符编码过滤器,过滤器中写下如下代码即可://将对象转换为HTTPHttpServletRequestrequest=(HttpServletRequest)arg0;HttpServletResponseresponse=(HttpServletResponse)arg1;//设置字符编码属性request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");3.在tomcat设置端口号的地方的后面写下如下代码:URIEncoding=“UTF-8”4.在传参数之前,先将字符转码:URLEncoder.encode("要传递的参数","UTF-8");5.先将字符转换成进制码然后要用的时候在转换回来
解决方案三:
request.getParameter默认获得的汉字是iso-8859-1的。楼主可试试iso-》gb或iso-》utf
解决方案四:
顶一下1楼,顺便说一下,有的时候提交时,如果method是get也会出现乱码,要设置为post
解决方案五:
写个过滤器直接解决问题。
解决方案六:
可能是你的浏览器使用的编码和你jsp页面使用的不一致,你在页面中对请求进行统一编码试试看。<%request.seCharacterEncoding("gb2312");%>

解决方案七:
呵呵,又是编码问题,get传送汉字,然后用request获取后再用newString()转码是不行的,因为request对象从异构的网络中接收到数据后已经就做了一次转码,取出数据后再用newString()转一次,乱上加乱。用我给以下贴中的回复,在request内部进行转码:(注意贴中第1楼的代码)。将项目所有编码都统一到utf-8,包括html编码声明、存储的物理文件编码(这个很重要,设置Eclipse、Dreamweaver这编辑器的编码格式为utf-8)、web.xml编码过滤器,然后配上重写request来处理get方式接收的汉字,一般就很少再出现编码乱的问题。
解决方案八:
http://youzi530.blog.163.com/blog/static/44471702200881801023405/
解决方案九:
字符乱码的最好解决方案是:把所有的字符编码设置成相同的编码(JSP、过滤器、IDE中相应文件的编码、服务器的URIEncode,建议用utf-8)否则的话,手动转来转去很容易乱套。
解决方案十:
支持过滤器方式,简单直接
解决方案十一:
仅仅在取参数时newString不会有效果,你输入参数的页面,你输入的是中文,此时默认用ISO-8859-1编码,也就是此时的汉字经过编码后再通过getBytes()不是适用了。仅供参考~
解决方案十二:
packagecom.first.struts.filters;importjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;publicclassSetCharacterEncodingFilterimplementsFilter{privateStringencoding;privateFilterConfigfilterConfig=null;publicvoiddestroy(){this.encoding=null;this.filterConfig=null;}publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{request.setCharacterEncoding(this.encoding);chain.doFilter(request,response);}publicvoidinit(FilterConfigfilterConfig)throwsServletException{this.encoding=filterConfig.getInitParameter("encoding");}--------------------------------------------------------------------------------配置文件web.xml<filter><filter-name>SetCharacterEncoding</filter-name><filter-class>com.first.struts.filters.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GBK</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>

时间: 2024-09-20 09:19:04

关于乱码的问题的相关文章

解决win7系统所有中文显示乱码的方法教程

  在win7系统下我们如果把语言操作系统界面语言修改为英文后,有部分用户的电脑中的英文字体将显示乱码的问题,对于出现该问题是因为中文不是Unicode语言,用户在将系统语言设置为英文后,语言设置的非Unicode设置出问题而导致的,故此我们需要将非Unicode的语言修改为中文语言即可解决这个问题,下面我们看下具体的操作教程吧! 解决win7系统所有中文显示乱码的方法教程 1.点击开始菜单图标并单击打开控制面板. 2.在区域和语言设置-管理中,选择更改显示语言. 3.选择管理标签,并点击更改系

win7系统下Excel文件受损出现乱码怎么办

  win7系统下Excel文件受损出现乱码怎么办 具体方法如下: 1.打开出现问题的文件; 2.在左上方进行单击:弹出对话框; 3.在保存类型中选着sy l k选项.保存完成后,在打开文件即可恢复受损文件; 4.这里还有另外一种方法直接恢复受损文件.就是大.点击单击之后选择.备份与恢复,那wps就会自动恢复你的受损文件; 5.这里需要说明的是wps一般不会出现受损文件,它会自动恢复. 上述教程内容就是解决win7系统下Excel文件受损出现乱码的方法,简单设置之后,Excel文件就可以恢复正常

win7繁体显示为乱码怎么办

  有些繁体软件在简体windows系统上会显示为乱码: 近期,居住香港的姐姐也安装了Windows 7,不过,令她烦恼的是使用一些简体中文的软件出现了乱码.而这些软件都无法找到繁体版本,比如:迅雷,即使勉强安装好也无法轻松使用.难道香港用户就无法使用这些简体软件了吗?其实,Windows 7自身已经提供了完善的解决方案了. 一.Windows 7乱码问题来龙去脉 旅居香港的姐姐安装的是我提供的简体中文版本的Windows 7旗舰版,按理是可以顺利兼容简体软件的,然而问题就出在姐姐对默认的安装设

win7繁体字乱码怎么办?

  win7繁体字乱码怎么办?小编带来了win7繁体字显示乱码解决方法,为什么在Windows7系统的繁体字会显示为乱码呢?该如何解决呢?大家请看下文介绍吧. --win7繁体字乱码怎么办 法一.安装合适的语言包 首先,要能安装多种语言包的Windows 7只能是旗舰版或者企业版,接着我们就来解决这个问题吧.我们点击"开始-Windows Update"打开自动更新窗口.在窗口中点击"34个可选更新"链接,在可以下载安装的语言包列表中选择"繁体中文语言包&

如何解决Windows 7旗舰版简体系统下打开繁体软件显示乱码

  繁体软件在简体windows 7旗舰版系统上会显示为乱码故障图: 一.Win7系统下软件出现乱码原因 有很多Ghost win7系统用户会安装简体中文版本的Windows 7旗舰版,一般来说是可以顺利兼容简体软件的,然而问题就出在某些用户对默认的安装设置进行了修改. 我们知道Unicode也可称为统一码,为每种语言的每个字符设置了统一且唯一的二进制编码,以满足跨语言.跨平台进行文本转换处理的要求,然而,还是有不少程序并不支持该编码,这时就有必要设置非Unicode程序使用的语言编码了.像迅雷

win7系统中文显示为乱码该怎么修复

  win7 32位系统下载之后,不少用户都反应说确实用着比较方便.在具体操作的过程中,也有的用户反应出了不少的问题,比如w7系统中文显示为乱码,这时候就会耽误正常的工作.那么遇到这样的问题该怎么办呢?下面跟随小编来了解一下w7系统中文显示为乱码的修复方法吧. 1.直接单击开始菜单图标,找到控制面板并将其打开. 2.找到里面的区域和语言设置-管理选项,将显示语言进行更改. 3.接着就选中管理标签,然后单击对系统区域设置进行更改. 4.然后将内容里面的非Unicode语言修改成简体中文,这时候再输

win7系统安装股票软件出现乱码怎么办

  最近股票是一个比较热门的话题,相信各界的投资者都投向股票这方面,很多炒股用户都会在自己电脑中安装股票软件,如易讯天天涨牛股王.大智慧经典版.上证早知道.和同花顺等等炒股软件,在安装使用中难免会出现一些故障问题.有用户反映win7 64位旗舰版下载后,在安装某个股票软件在使用中出现乱码(如图所示),出现这种现象给我们使用炒股软件带来一定麻烦,下面来看看具体解决方法吧. 乱码解决方法/步骤: 1.点击开始菜单图标,然后就单击打开控制面板,再单击打开时钟语言区域. 2.直接点击打开区域. 3.更改

Win7使用Xshell出现乱码解决教程

  图1:使用中文命名文档 现象: 登录服务器查看中文却出现乱码 原因分析: 使用的xshell是破解版,xshell中文版是没有这种现象的 解决方法: 虽然是破解版的,但是也是可以修改的,具体的操作如下: 1.打开"属性",然后在"类别"中选择"终端", 图2:在编码中选择UTF-8 2.打开编码,选择Unicode(UTF-8), 此时再查看时会发现乱码已不再了.虽然也是可以处理这个问题,但是小编还是建议大家安装正式版的xshell,正式版的

win7英文版中文显示乱码解决

win7英文版中文显示乱码-很多软件无法安装的解决 win7英文版中文显示乱码处理方式: Control Pannel-->Clock, Language, and Region--> Administrative-->Change system locale-->Select Chinese (PRC)

电脑系统显示乱码的两种解决办法

  有网友的电脑出了问题,系统的菜单,标题等处变成了乱码,到百度知道求助,提供了一张如下的乱码图片,希望得到解决.出现乱码的有几种情况,一是系统乱码,主要是桌面,菜单,标题,对话框等处出现乱码.二是文档中的内容出现乱码,三是网页乱码,四是软件窗口乱码,上面网友出现的就是第一种情况"系统乱码".本文用二种方法修复系统乱码的问题. 解决方法一:区域语言设置法 1,系统出现这种乱码问题,一般可能是自已乱动,把区域语言给搞乱了,或者是安装了其他语言的软件,如日文,韩文等等,因为这些软件需要语言