中文jsp中文乱码问题解决方法

filezilla乱码  时间:2021-02-16  阅读:()

精品文档可编辑 值得下载

JSP中文乱码问题解决方法

[摘要]中文乱码问题在JSP的编程过程中是经常遇到的问题给编程人员带来了困难。该论文通过分析目前流行的各种编码的特点分析了产生中文乱码的原因然后根据经常遇到的页面乱码、参数乱码、表单乱码、数据库乱码几个方面提出了解决方法。

[关键词]中文乱码编码JSP参数传递

中图分类号 P695文献标识码 A文章编号 1009-914X

2015 40-0341-01

JSP作为目前比较流行的编程语言具有许多优秀的特点但在编程过程中经常遇到的中文乱码却带来了许多不便。其主要原因是由于编码不统一试通过下面的内容进行分析并加以解决。

一、常用的编码

1、 ISO8859-1

ISO8859-1又称Lation-1是在ASCII的基础上使用8比特编码新增了一些字符。新增的字符主要用来支持部分欧洲国家所使用的语言例如德语、葡萄牙语和西班牙语等。即 ISO8859-1兼容ASCII。

2、 GB 2312

1/6

精品文档可编辑 值得下载

GB 2312是1981年开始使用国家《信息交换用汉字编码字符集-基本集》简称GB2312。

3、 UNI CODE

1991年Unicode把世界上几十种文字整合在一个字符集中 Unicode中的每个字符都有一个唯一的数字进行表示。Unicode是由Unicode组织进行相关标准的制订与推广。

4、 UTF-8

UTF是Unicode/UCS Transformation Format 统一字符集/统一字符编码转换格式的缩写 UTF就是Unicode的一种字符编码方法。

二、乱码产生的原因

JS P在HTML网页、 JS P网页之间传递中文数据时 由于HTML网页默认情况下采用ISO8859-1编码传递数据而这种编码不支持中文因此传递到其它网页后产生了乱码。同时JSP网页的默认编码也是ISO8859-1 因此中文也不能正确的这类网页中显示出来现在大部分具有国际化特征的软件核心字符处理都是以Unicode为基础的在软件运行时根据当时的Locale/Lang/Codepage设置确定相应的本地字符编码设置并依此处理本地字符。在处理过程中需要实现Unicode和本地字符集的相互转换甚或以Unicode为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸任何网络两端的字符信息也需要根据字符集

2/6

精品文档可编辑 值得下载

的设置转换成可接受的内容。此外 Java中的字符主要通过char、 byte和String这三种类型进行表示。 char表示的是一个Unicode字符 String是字符串它是多个char类型字符的序列。字符串在网络传输或者存储前需要转换成byte类型的数组。从网络接收或从存储设备读取内容的一般是byte类型的数组。 Java语言内部是用Unicode表示字符的遵守Unicode V2.0。 Java程序无论是从/往文件系统以字符流读/写文件还是往URL连接写HTML信息或从URL连接读取参数值都会有字符编码的转换。这样做虽然增加了编程的复杂度容易引起混淆但却是符合国际化的思想的。从理论上来说这些根据字符集设置而进行的字符转换不应该产生太多问题。而事实是由于应用程序的实际运行环境不同 Unicode和各个本地字符集的补充、完善 以及系统或应用程序实现的不规范转码时出现的问题时时困扰着程序员和用户。

三、 中文乱码的解决方法

JSP中文乱码问题有如下几个方面页面乱码、参数乱码、表单乱码、数据库乱码。下面来逐一解决其中的乱码问题。

1、 JSP页面中文乱码

在JSP页面中 中文显示乱码有两种情况一种是HTML中的中文乱码另一种是在JSP中动态输出的中文乱码。产生的原因是网页的默认编码不支持中文或者是编码与传递

3/6

精品文档可编辑 值得下载

过来的编码不同从而造成无法正常显示中文。解决这种中文乱码问题可以采用设定HTML的page的编码。代码如下

 。经过这样设置后 中文就可以正确显示在网页上。

2、表单提交中文乱码

使用表单传递数据后 在接收方可以通过request.getParameter “”的方法获取数据但由于传递的数据的默认编码不支持中文 因此无法正常显示中文。解决的方法为在接收数据前将传递数据的编码转换成支持中文的。代码如下

3、 URL传递参数中文乱码

在使用表单提交中文时可以使用两种方法即 “GET”、

“POST”。其中使用POST方法提交中文时可以在接收方正确接收中文信息并且正确显示。但使用GET方法或者不使用表单还可以使用URL链接方式传递参数这种传递参数的方法本质上也是GET方式传递参数这种传递参数的值是中文也会出现乱码。这个问题的解决方法是在TOMCAT的CONF 文件夹中的 SERVER.XML 配置文件中加上URIEncoding=” utf-8”。

4、数据库乱码

在数据库连接中涉及中文会出现乱码解决方法在数据库连接字符串中加入编码字符集StringUrl= “jdbcmysql

4/6

精品文档可编辑 值得下载

//local host/digitgulf  user=root& password=root&useUnicode=true&characterEncoding= GB2312” 

并在页面中使用如下代码response. setContentType  ” text/html charset=gb2312” request. setCharacterEncoding ” gb2312” 

数据库的显示乱码在mysql4. 1.0中 varchar类型text类型就会出现中文乱码对于varchar类型把它设为binary属性就可以解决中文问题对于text类型就要用一个编码转换类来处理

四、结语

JSP的中文乱码问题主要原因是HTML网页、 JSP网页、数据库之间的编码不一致 中文在各种页面之间传递出现不兼容、无法正常显示等问题 因此解决这类问题的基本方法是进行各种编码转换使之中文在各个网页之间完成正常显示。

参考文献

[1]罗粮.Web程序设计中数据库路径获取编程技巧[J] .电脑编程技巧与维护. 2014 12 .

[2]刘冰.Java编程中中文问题的产生及其解决方案[J] .现代计算机专业版 . 2010 03 .

[3]张言辉.J2EE平台下汉字乱码问题分析及解决[J] .

5/6

精品文档可编辑 值得下载电脑知识与技术. 2010 12 .

6/6

Hostodo独立日提供四款特价年付VPS套餐 最低年付$13.99

前天,还有在"Hostodo商家提供两款大流量美国VPS主机 可选拉斯维加斯和迈阿密"文章中提到有提供两款流量较大的套餐,这里今天看到有发布四款庆祝独立日的七月份的活动,最低年付VPS主机13.99美元,如果有需要年付便宜VPS主机的可以选择商家。目前,Hostodo机房可选拉斯维加斯和迈阿密两个数据中心,且都是基于KVM虚拟+NVMe整列,年付送DirectAdmin授权,需要发工单申请。(如何...

HostRound:美国达拉斯/洛杉矶/纽约/荷兰大硬盘服务器,1TB NVMe+4TB HDD,$179/月

hostround怎么样?大硬盘服务器,高防服务器。hostround,美国商家,2017年成立,正规注册公司(Company File #6180543),提供虚拟主机、VPS云主机、美国服务器、荷兰服务器租用等。现在有1款特价大硬盘独服,位于达拉斯,配置还不错,本月订购时包括免费 500Gbps DDoS 保护,有兴趣的可以关注一下。点击直达:hostround官方网站地址美国\荷兰独立服务器...

易探云(QQ音乐绿钻)北京/深圳云服务器8核8G10M带宽低至1332.07元/年起

易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...

filezilla乱码为你推荐
u盘无法读取U盘为什么不能显示有趣的广告比较有趣的广告词有哪些eset最新用户名密码ESET4.0最新用户名和密码照片转手绘美图秀秀可以照片转手绘吗?是手机版的数码资源网有什么网站弄相片效果比较好的?淘宝网页显示不正常淘宝网页不能正常显示安全漏洞计算机一般存在哪些安全漏洞?虚拟机软件下载求一个免费虚拟机软件!!!请发送下载网站给我宽带接入服务器网络已连接,可无法连接到服务器为什么?网络已连接,可无法连接到服务微信怎么看聊天记录怎样查找一个人的微信聊天记录
美国vps推荐 已经备案域名 阿里云邮箱登陆首页 fdcservers 樊云 directadmin 网站卫士 傲盾官网 免费cdn 个人免费主页 丽萨 免费ftp 国外免费云空间 ssl加速 国内空间 网站防护 重庆联通服务器托管 SmartAXMT800 酷锐 更多