




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、JSP页面显示乱码二、表单提交中文时出现乱码三、数据库连接大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。一、JSP页面显示乱码下面的显示页面(display.jsp)就出现乱码:JSP的中文处理对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在JSP页面中指定编码方式(gb2312),即在页面的第一行加上:,就可以消除乱码了。完整页面如下:JSP的中文处理二、表单提交中文时出现乱码下面是一个提交页面(submit.jsp),代码如下:JSP的中文处理下面是处理页面(process.jsp)代码:JSP的中文处理如果submit.jsp提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF- 8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding (gb2312)对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp代码如下:JSP的中文处理三、数据库连接出现乱码只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK 就OK了。四、数据库的显示乱码在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:public class Convert /* 把ISO-8859-1码转换成GB2312*/public static String ISOtoGB(String iso)String gb;tryif(iso.equals() | iso = null)return ;elseiso = iso.trim();gb = new String(iso.getBytes(ISO-8859-1),GB2312);return gb;catch(Exception e)System.err.print(编码转换错误:+e.getMessage();return ;把它编译成class,就可以调用Convert类的静态方法ISOtoGB()来转换编码。总结:1. 在jsp中如果指定了,那么在改jsp中所有构造的String(不是引用),如果沒有指定编码,那么这些String的编码是A的。 从request的得到的String如果沒有指定request的编码的话,他是iso-8859-1的 从别的地方得到的String是使用原來初始的编码的,比如从数据库得到String,如果数据库的编码是B,那么该String的编码是B而不是A的,也不是系统默认的。 此时,如果要输出的String的编码不是A,那么,很可能显示乱码的,所以首先要将String正確转化为编码A的String,然后输出。2. 在jsp中沒有指定,那么相当于指定了3 Servelte中如果执行了像 response.setContentType(text/html;charset=A);説明将response的字符输出流编码设置为A,所有要输出的String的编码要转化为A的,否則会得到乱码的。 Servelet中从request得到的String的编码和jsp中一样的,但是在servlet java文件中构造的String是使用的系统默认的编码的。在servelt中从外部得到的String 是使用原来的编码的,比如从编码为B的数据库得到的数据是编码为B的,不是A,也不是系统默认的编码。1)根据驱动程序名称driverName,利用java反射机制,加载数据库举动程序;2)根据连接字符串connectionURL,从驱动管理器中获取数据库连接对象;3)利用数据库连接对象进行数据库操作.Code Class providerClass = Class.forName(driverName);connection = DriverManger.getConnection(connectionURL,username,password);return connection;对于不同的数据库类型,有两点不同的地方,一.适当的驱动程序名称二.适当的连接字符串a MySQLcom.mysql.jdbc.Driverjdbc:mysql:/?useUnicode=true&characterEncoding=GBKb SQL Servercom.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver:/:1433;DatabaseName=c Oracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:1521:d DB2APPCOM.ibm.db2.jdbc.app.DB2Driverjdbc:db2:NETCOM.ibm.db2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏二级建造师《建设工程施工管理》考试真题卷及答案
- 广西壮族自治区崇左市宁明县市级名校2026届中考适应性考试语文试题含解析
- 云计算与物联网助力服务业产业链整合
- 小学英语阅读批判性思维评估方法与实践
- 文化素养与职场能力提升的有机结合
- 数字技术在农村跨境电商中的应用与局限
- 皮革产业在双循环战略下的发展趋势分析
- 智算中心产业园项目投标书
- 污水处理厂中水回用工程可行性研究报告
- 数字化工厂安全管理与风险控制
- 枸橼酸倍维巴肽注射液-药品临床应用解读
- 外科手术安全与质量提升计划
- 2025年山西太原政府12345便民服务热线招聘60人自考难、易点模拟试卷(共500题附带答案详解)
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
- 输液渗漏护理不良事件
- 现代农业信息化建设的网络安全保障措施
- 山东省日照市东港区新营中学2024-2025学年九年级上学期期中考试数学试题(无答案)
- 《经络与腧穴》课件-特定穴
- 2025年美发师高级工理论知识模拟试题库及答案(共400题)
- 电气监理工程师岗位职责
- 《护理安全及管理》课件
评论
0/150
提交评论