这里分析超链接传递中文参数,在接受页面中出现乱码问题的解决方法。
解决方法:
在接受页面里可以如下处理,
复制代码 代码如下:<%=new String(requestgetParameter("变量名字")getBytes("ISO-8859-1")) %>
注意这里用的是 new String() 创建一个新的字符串
例题:
页面一:
<html> <head> <title>页面一</title> </head> <body> <a href="2jspname=张三&password=123456">注意看这里</a> </body> </html>
页面二:
<%@ page language="java" import="javautil" pageEncoding="GBK"%> <html> <head> <title>页面二</title> </head> <body> <%=new String(requestgetParameter("name")getBytes("ISO-8859-1")) %> && <%=requestgetParameter("password") %> </body> </html>
希望本文所述对大家JSP程序设计有所帮助。一 点浏览器上的菜单“查看”——“编码”,检查一下是否是自动或简体中文。 二 可能是系统乱码!这是由于在Windows注册表中,关于字体部分配置不正常造成的,即使你用内码翻译软件处理也不会消除这类乱码。(找一台与你的Windows版本相同且显示正常的机器,依下列步骤进行: 1在正常机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器; 2请你将光标定位到“HKEY_LOCAL_MACHINE\ system\CurrentControlSet\Control\Fontassoc”,然后选择“注册表”→“导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如ZTREG)中; 3把ZTREG文件拷贝到你那显示乱码的机器上,方法是:在显示乱码的机器上运行“regedit”,打开注册表编辑器,选择“注册表”→“导入注册注册表”,把ZTREG文件导入注册表中即可。)上网时经常遇到这样一个问题,那就是打开一个网页后发现里面全是“看不明白是什么文字的内容”或“不知道写了什么的内容”,我们把这些统称为乱码。下面我说一下如何处理乱码。
第一种方法:刷新页面。刷新页面的方法有三种(其实我们最常用的这三种方法,不仅在网页浏览时使用,在其他问题的解决过程中也常用些三种方法),即使用菜单、使用工具栏,使用右键快捷菜单。
一、使用菜单。打开查看菜单,单击其中的“刷新(R) F5”。括号里的(R)表示,可以用快捷键来进行 *** 作。即“CTRL+R”, *** 作方法是按住CTRL键不放按一次R键。后面的F5说明还可以直接按键盘上的功能键F5。
二、使用工具栏。按一下工具栏(即有各种图标的那一行,这一行的左边一般是“后退”“前进”等按钮)中的刷新按钮(即在一张白纸上有两个弯曲箭头的按钮,在我使用的XP系统中是第四个按钮)。把鼠标移动到此按钮上(是移动到而不是单击或双击),就能在提示语言中看出是不是我们要使用的工具(有时可能需要等上几秒,一定要耐心一点才可以)。
三、使用右键快捷菜单。在网页中鼠标显示为正常的朝着左上的箭头时或鼠标为I形状时,单击鼠标右键,在出现的快捷菜单中单击刷新。
第二种方法:调整编码。这里有两种方法。
一、使用菜单。打开查看菜单,把鼠标移动到“编码”菜单,出现下一级菜单后(在其右侧出现的菜单行,我们叫做下一级菜单或子菜单),单击其中合适的编码。如在浏览中文网站时,就选择简体中文或繁体中文;如浏览朝文网站时,则选择朝文。如果在此一级菜单项中找不到我们要用的菜单项,就把鼠标移动到“其他”菜单项上,出现下一级菜单后,在其中进行选择。
二、使用右键快捷菜单。在网页中鼠标显示为正常的朝着左上的箭头时或鼠标为I形状时,单击鼠标右键,把鼠标移动到“编码”快捷菜单,出现下一级菜单后(在其右侧出现的菜单行,我们叫做下一级菜单或子菜单),单击其中合适的编码。如在浏览中文网站时,就选择简体中文或繁体中文;如浏览朝文网站时,则选择朝文。如果在此一级菜单项中找不到我们要用的菜单项,就把鼠标移动到“其他”菜单项上,出现下一级菜单后,在其中进行选择。
无论用何种方法,在编码的下一级菜单中都有一个“自动选择”一个菜单,一般要选中它。这样进入一个网页后,系统会根据网页的内容选择正确地选择编码,以便正确地显示网页。如果在“自动选择”菜单项前有对钩(√)则说明此项已被选择。如果没有,就要在其上面单击一下。如果要取消“自动选择”,则再在其上面单击一次就可以。
如果是打开网页出现乱码的情况,是因为编码不统一的问题,解决办法,直接在乱码页面,右键--编码--如果是utf-8的话,你改成gb2312,如果是gb2312的话,你改成utf-8。就可以解决了。如果不是这两个的话,你直接改成这两个的任一试试。页面编码——选择间简体中文
OK
实在不行,下载360安全卫士,里面有个IE修复,全部修复---OK
实在不行,换个浏览器,
用FOXFIRE,腾讯TT,世界之窗
解决的
方法很多一、鼠标左键双击电脑桌面的百度卫士安全软件,打开运行。
二、在打开的百度卫士软件界面,点击右侧“百宝箱”按钮打开它。
三、在打开的百宝箱对话框中,点击“百度电脑专家”按钮打开。
四、打开百度电脑专家窗口,在搜索框中输入“网页字体乱码”,然后在点击“搜索”按钮。
五、在搜索出来的结果中,选择和我们问题相关的选项,然后再点击“立即修复”按钮。
六、点击“立即修复”后,这个时候软件在自动的对我们的计算机问题进行修复中……,耐心等待一下。
七、计算机问题已完成修复,查看下我们的问题是否还存在。根据修复的结果点击两个选项。通常都是能够修复成功的。所以我们一般都是点击“我已经成功修复,赞!”。
使用电脑上网经常会遇到一些问题,除了机子本身故障之外,设置问题也会造成故障出现,上网时候电脑打开网页出现乱码需要刷新才恢复正常怎么回事网页出现乱码这个故障一般不会出现在WIN7或者以上的 *** 作系统上,在server系统和WIN7以下的系统会出现的比较多,下面是解决网页乱码故障的方法。
360浏览器出现乱码故障解决方法:用360系统急救箱来处理
1、双击360系统急救箱,出现如图的界面,然后单击“开始系统急救”。
2、系统引擎初始化完成后,单击“修复”,勾选需要修复的类型,然后单击“立即修复”,完成后重新启动电脑。如果你不知道属于哪一类故障不懂得应该修复哪一类可以使用系统推荐的修复级别,不用选择而直接单击“立即修复”,或者勾选“全选”然后直接单击“立即修复”。这样处理后到官网下载最新版本重新安装应当可以解决。你可以下个360急救箱进入安全模式扫描查杀一下,看看是否行得通。如果再不行的话,那就要重做系统,如果问题依旧存在,那就请格式化你的硬盘,再重做系统。
汉字乱码现象大致可分成四类:网页、文本、文档和文件乱码。第一类是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用造成的;第二类是Win9X/Win2K系统(菜单、桌面、提示框)显示乱码,这是Win9X/Win2K注册表中有关字体的部分设置不当引起的;第三类是各种应用程序(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软件用到的中文动态链接库被英文动态链接库覆盖造成的;最后一类是邮件乱码。二、消除汉字乱码
针对以上几种乱码现象,我们来分类介绍消除乱码的方法。
(一)、网页、文本和文档文件乱码的消除
网页乱码是浏览器(如IE等)对HTML网页解释时形成的。如果在网页的代码中有形如:〈HTML〉〈HEAD〉〈METACONTENT=“text/html;charset=ISO-8859-1”〉〈/HEAD〉……〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。解决的办法是将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。
另一种解决办法是不修改网页代码,事先为浏览器安装多语言支持包(例如在安装IE时要安装多语言支持包),这样在浏览网页出现乱码时,就可以在浏览器中选择菜单栏下的“查看”/“编码”/“自动选择”/简体中文(GB2312),如为繁体中文则选择“查看”/“编码”/“自动选择”/繁体中文(BIG5),其它语言依此类推选择相应的语系,这样可消除网页乱码现象。
还有一种解决办法是利用多内码显示平台来转换内码。 常用多内码显示平台有:
“南极星”:可自动识别GB码、BIG5码,用简体或繁体显示,并能做到同屏显示GB码和BIG5码,对日文、韩文亦能正确显示。“四通利方”:支持了包括GB、BIG5、HZ、日韩编码、UNICOD等17种汉字内码,也开始支持预览功能,并且增加了诸如“增删空格”、“插入禁排空格”等小而有用的功能,实在是网友的好帮手。
“MagicWin98”:可真正的同屏显示不同内码,即GB码和BIG5码两者共存、都能正常显示。它支持GB、HZ、BIG5、JIS、EUC、SJIS、KSC、UTF7和UTF8等格式;支持NetscapeCommunicator4X、InternetExplorer和Office等软件;支持在多个窗口中同时查看不同内码的文档的超级多内码显示平台。
网页无乱码保存的方法是:用浏览器打开网页时,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“web页”,编码选择“UNICOD”,这样保存过的网页再次打开时,在浏览器菜单“查看”、“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。
文本、文档文件乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。
Word2000能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的文件,在d出的对话框中(如图1),选择“其它编码”中的“繁体中文(BIG5)”一项,打开此文件时就不会出现乱码。无乱码保存方法:在保存时选择“文件”中的“另存为”,先存为“Word文档,存盘后打开再存为纯文本等其它格式;您也可以用Word2000的“中文简繁转换”工具实现无乱码保存,方法是在菜单栏中选择“工具/语言/中文简繁转换”,内码转换后再保存。
WPS2000也能转换内码,支持GB2312、BIG5、GBK等三种主要的汉字编码,并可在输出RTF、TXT、HTM格式文件时对内码进行转换。
方法一
1、比如我们打开一个浏览器,来到百度的首页,发现我们这个之前好好的页面上的文字已经不认识了,这就是乱码。
2、我们在浏览器右键一下,会d出一个对话框,我们在下边找到编码的选项卡。
3、我们在编码的右侧能看见好多的编码方式,我们选择为UTF-8的编码方式。
4、我们的页面已经从刚才的乱码变成正常的显示方式了,这是解决办法之一。
方法二
1、第二就是兼容性的问题,我们电脑的浏览器,一般都是两个模式一个是高速模式,一个是兼容模式,我们在上边切换成兼容模式试一下。
2、再有就是网速延时的问题,我们在浏览器的空白处,右键找到刷新,或者兼容模式下刷新。
方法三1、如果大家实在找不到方法,可以用百度上搜索(浏览器打开出现乱码),找到下边的百度电脑专家修复的选项,点击一键修复。
2、他就开始修复了,很快就把我们的问题修复完成,打开浏览器看看我们的问题解决了吗。
参考——》JSP和Servlet的中文乱码处理 - 无处不在 - 博客频道 - CSDNNET超链接时出现乱码(低版本浏览器不行IE6)
在Web开发中,挺多的时候都是通过超链接去传递中文参数的,这也会导致在显示的时候也会出现乱码,对于超链接来说,它实际上是向服务器端发送了一个请求,而它发出的请求是属于get请求,所以对于超链接的乱码来说,它处理乱码的方式和表单的get请求出现乱码的方式是一样的。
客户端的get请求
对于不同的请求方式,解决乱码的问题也是不一样的,对于客户端的get请求来说,服务器端处理要想不出现乱码,解决这个问题稍微复杂一些,需要用到String类型的构造函数,其中的一个构造函数就是用指定的编码方式去解码,一般都用“UTF-8”的方式。只要在服务器端将请求得到的参数重新构造成一个字符串就行了。如下所示:
String stuname = requestgetParameter("stuname");
String str = new String(stunamegetBytes("ISO-8859-1"),"utf-8")
经过构造之后,客户端输入中文,且表单时get请求的情况下,str就变成了中文了。如果请求参数比较多,最好将它封装成一个工具类:
public class MyUtil
{
public static String getNewString(String str) throws UnsupportedEncodingException
{
return new String(strgetBytes("ISO-8859-1"),"UTF-8");
}
}
String stuname= MyUtilgetNewString(requestgetParameter("stuname"));
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)