JSP:我用的tomcat和eclipse jdk开发的时候,从数据库里读出数据 中文的总是乱码。求解方法!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP:我用的tomcat和eclipse jdk开发的时候,从数据库里读出数据 中文的总是乱码。求解方法!相关的知识,希望对你有一定的参考价值。

请列出几种详细的可能和解决方法,尽量全面并且简洁一些,谢谢啦~!PS:jsp的开发有几个编码呢?有页面的编码还有数据库的什么的,不是很清楚,求解决!
具体问题就是从后台读出值到前台的时候乱码。用中文登陆和添加什么都没问题,就是删除的时候是乱码

读出的数据乱码,你应该先看看数据库里存的是不是乱码。如果数据库存的就是乱码,说明刚开始的时候就错了。首先你要保证你的数据库的编码格式就是正确的,一般来说应该设置成gbk,这个支持中文等非西方文字。在数据库编码设置OK后,就要确保你的jsp、java、html文件等等都是统一的编码,gbk或者utf-8都行,这个在eclipse中可以设置的。

还有一点,tomcat的编码是iso-8859-1,如果实在找不出乱码的原因,可以尝试用如下代码来获取参数:
String para = request.getParameter("para");
String real = new String(para.getBytes("iso-8859-1"),"utf-8");//或者utf-8换成gbk

_____________________________________

你要先打开mysql,看看数据库里存的是不是乱码;其次应该看的是,删除操作时,后台接收到的参数是不是乱码了的,如果是,要看看你的删除部分和传参画面的编码格式是不是统一的。如果已经统一,将前台form的method由get改为post试试,另外注意,如果这样还不行,前面所提供的代码还是要试一下的。
参考技术A 中文乱码吗?
前台传值的时候encodeURI(URIstring)
后台传值到前台的时候
String q = java.net.URLDecoder.decode(q,"utf-8");
就这问题。
如果是前台不用传值到后来,直接查询都乱码的话那就是你数据库和页面的编码有问题了。这个你就自己改下编码。
还有一种但是不推荐,tomcat的server里面server.xml 修改
<Connector port="8080".../>这段(8080是你Tomcat的端口),在这段里加URIEncoding="utf-8"。
这种不推荐是因为这种是通过服务器修改的乱码,如果你换了服务器还是乱码。看你自己选择 。

编码问题的话,最好全用utf-8 别用什么gbk,gb2312什么的,到时候出现了乱码的话,修改起来是一件很蛋疼的事情,这么多页面一个个的全都要改,编码什么的都是应该约定好,还有ajax多复制一行contenttype 没有什么大不了的。
参考技术B 首先你应该用数据库客户端工具看看你存的内容是否乱码。然后查看建立数据库是使用的字符编码,在连接数据库时指定字符编码 参考技术C username = new String(username.getBytes("ISO-8859-1"),"utf-8");这样就可以把传过来的username转换为汉字。
在jsp页面中,默认的是ISO-8859-1,我们在编写的时候需要改为utf-8才能显示汉字的。
参考技术D 请问你用的是什么数据库? 数据库内部也是需要设置编码格式的

你说的jsp 开发编码是指什么 ? 编码格式 ? 还是编码方法追问

mysql数据库 用eclipse做的Dynamic web工程 页面获取值传入到数据库查找的时候乱码

追答

你的数据库编码是否设置了

追问

在配置文件改的是不?是utf-8 和我页面里面的设置是一样的

追答

你建数据库的时候也给它设成utf-8的

本回答被提问者采纳

eclipse中启动SSM项目,报这个错是啥原因?用的Tomcat8.0和jdk8.0。

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener

参考技术A 检查一下有没有这个com.xhcms.regis.service.DivisionService。环境对不对。
你没有在WebContent文件夹下面新建一个.jsp文件,没有jsp文件就无法显示网页,因为没有网页可以显示,所以报错了,你能访问tomcat主页是因为用eclipse启动tomcat了(和直接手动启动一样的效果)所以能访问主页。

以上是关于JSP:我用的tomcat和eclipse jdk开发的时候,从数据库里读出数据 中文的总是乱码。求解方法!的主要内容,如果未能解决你的问题,请参考以下文章

怎么用eclipse运行jsp?

eclipse中java Dynamatic web的创建过程(或者eclipse中jsp的创建或eclipse开发环境(jdk,eclipse,tomcat)的测试)

eclipse 创建maven web项目

eclipse中启动SSM项目,报这个错是啥原因?用的Tomcat8.0和jdk8.0。

我用eclipse写jsp程序,本来好好的,但是突然就编译不了了,而且localhost:8080也进不去了,这是我属马

我用eclipse做了一个jsp项目 域名有了 怎样通过iis发布啊 单adsl上网 我用花生壳