用JAVA/JSP做开发很久了,也见过许多朋友做过,有很大一部分用的是MYSQL的数据库,现在MYSQL数据库版本5.0及以上的都已经被用的很广泛了,但一直有一个问题,使刚入门的朋友费劲心思.就是JSP连接MYSQL5数据库的时候的一些中文问题.于是网络上也出现了很多相关的帖子.由些大家对MYSQL5数据库的配制文件MY.INI也有了些了解.甚至一些朋友就直接问:你们的MYSQL是什么编码的?你们的TOMCAT是什么样的编码,可能不是很规范的问法,但说明了编码问题的确影响了大家的使用.
下面的讲解是在MYSQL5.0.18,TOMCAT5.0.28,驱动为mysql-connector-java-3.2.0-alpha-bin.jar及以上版本的情况下测试的
JSP连接数据库的乱码问题,分两部分来看
1 数据库中是不是乱码?
我们需要保证数据库保存的不是"?????"形式的乱码,如何保证呢?
我们在管理MYSQL数据库的时候,需要用一个客户端,无论你用MYSQL-FRONT,EMS SQL Manager for MySQL,还是MYSQL命令行,这些都是客户端,也是程序连接了数据库,我们现在用客户端EMS SQL Manager for MySQL连接数据库,连接的时候一定要设置客户端字符集为GBK或者GB2312,这样你才能知道数据库里面是不是乱码.这一编码设置很重要,不然,就算数据库里是中文,你看到的还是乱码
这样连接后,我们看下我们做测试的表格,里面的汉字就是正常的,这个时候也可以直接在上面的记录中进入中文的修改
若这里没有选择编码的话,一般默认的就是UTF8的了,连接后再看这个表格,就会出现乱码
而这个时候就会出现不能插入中文的问题,若您插入中文的话,就会出现下列错误
这个时候大家什么不要误解,不是不能插入中文,也不是你插入的字符太长,
更改下连接编码就OK了.下面是这个表格的SQL语句
CREATE TABLE `test` (
`name` varchar(100) default NULL,
`adesc` varchar(100) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
二.程序连接数据时,也要设置好连接时候的编码,JSP连接MYSQL数据库时候,有个URL参数,jdbc:mysql://localhost:3307/sssdb?user=demoUser&password=demoPwd&useUnicode=true&characterEncoding=UTF-8,在这里需要设置成UTF-8,
下面是连接数据库的程序代码
<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%
out.println("您的数据库某表格中的内容如下<br>");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost:3307/sssdb?user=demoUser&password=demoPwd&useUnicode=true&characterEncoding=UTF-8";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
out.println("第一个字段内容:<font color=red>"+rs.getString(1)+"</font> 第二个字段内容:<font color=red>"+rs.getString(2)+"</font><br>");
}
out.print("数据库操作成功,恭喜你");
sql = "insert into test (name,adesc) values ('中文','汉字')";
stmt.execute(sql);
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
System.out.println("数据库连接不成功"+e.toString());
}
%>
上面的经验是经过多次尝试总结出来的,不管是MYSQL的客户端还是程序连接MYSQL数据库,在本质上都是程序连接数据库,可以自己在本地多试验下,有时候有可能是驱动太旧.
分享到:
相关推荐
通过以上步骤,你应该能够成功解决Linux下JSP连接MySQL 5.1时的中文乱码问题。确保每个环节都正确设置,确保字符集从数据库到应用程序的传输过程中保持一致,这样就能保证中文数据的正常显示和处理。
### jsp+mysql中文乱码解决方案集合 在使用JSP结合MySQL进行Web应用开发时,中文乱码问题一直是困扰开发者的一大难题。本文将详细介绍如何在MySQL数据库层面解决中文乱码问题,并提供一系列实用的方法和技巧。 ###...
在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。这个问题的出现主要是由于字符编码不一致导致的,包括数据库编码、连接编码、页面编码等多个环节。下面...
在JSP与MySQL交互时,中文乱码是一个常见的问题,主要涉及到字符编码的不一致。在J2EE环境中,确保各个层次的字符编码统一是解决乱码的关键。以下是一个详细的解决方案: 首先,我们需要理解JSP、MySQL和字符编码的...
该方案的解决方法可以解决jsp+servlet+mysql开发中常见的中文乱码问题,确保中文字符的正确显示。 jsp+servlet+mysql乱码解决方案的实现步骤如下: 首先,在jsp页面中设置编码格式为utf-8,以确保页面中的中文字符...
首先,我们需要了解jsp中文乱码问题产生的原因,然后再讨论解决方案。 jsp中文乱码问题产生的原因是由于jsp页面的编码方式和浏览器的编码方式不一致所致。jsp页面的编码方式默认为ISO-8859-1,而浏览器的编码方式...
在Java中使用JDBC连接MySQL时,还可以通过`setCharacterSetResults`方法设置结果集的字符集: ```java connection.setUseUnicode(true); connection.setCharacterEncoding("UTF-8"); ``` 5. **MySQL配置文件**...
本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码是计算机对文字进行存储和处理的标准,常见的有ASCII、GBK、UTF-8等。 - JSP页面默认使用ISO-8859-1...
本文将深入探讨JSP中文乱码的成因以及提供多种解决方案,帮助开发者有效地处理这类问题。 ### 1. 乱码的可能原因 1. **编码设置不一致**:JSP页面、HTTP请求、响应、数据库等环节的字符编码设置不统一,导致字符在...
通过以上步骤,可以基本解决MySQL、JSP和SSH框架集成网站开发中的中文乱码问题。在实际开发过程中,要根据项目的具体情况进行调整和测试,确保每个环节都正确处理了字符编码。如果你遇到了特定的问题,可以进一步...
在JSP中,通过JDBC连接MySQL数据库通常涉及以下步骤: 1. **加载驱动**:首先,需要在JSP代码中加载MySQL的JDBC驱动,即Connector/J。这通常通过`Class.forName()`方法完成,传入驱动类名,例如`...
JSP MySQL 插入数据时出现中文乱码问题的解决方法 在 JSP 应用程序中,使用 MySQL 数据库时,插入中文数据可能会出现乱码问题。这种问题的产生是因为客户端和服务器端的字符集编码不一致所导致的。解决这个问题需要...
当在使用JSP页面向MySQL数据库插入中文数据时,经常会出现乱码问题。这个问题主要是由于字符编码不一致导致的,因为JSP页面和数据库对字符集的处理方式有所不同,如果处理不当,就会导致中文乱码。 首先,要了解...
提供的文档"JSP页面显示的中文问题及解决方案.doc"应该包含了详细步骤和实例,供读者参考。"下载说明.txt"可能包含了获取和使用这些资源的方法,而"A5下载- 更全的站长资源平台.url"可能是提供其他相关资源或教程的...
【标题】:深入解析JSP中文问题解决方案 【描述】:在Java应用程序开发中,处理中文乱码问题是一项常见的挑战,特别是在使用非Unicode编码如GB2312(包括GBK简体和Big5繁体)的环境中。正确展示中文和在数据库中...
### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是经常遇到的一个难题,它不仅影响数据的正确性,还可能对整个系统的稳定性和用户体验造成负面影响。本文将详细介绍如何解决MySQL中的中文乱码...
在MySQL、JSP和SSH框架集成的网站开发过程中,中文乱码问题是一个常见的困扰。解决这个问题的关键在于确保整个系统从数据存储、页面显示到数据传输的编码一致性。以下是一个详细的解决方案: 1. **MySQL编码配置**...
### MySQL乱码问题与中文问题解决方案 在处理MySQL数据库时,遇到乱码和中文字符显示不正确的问题是非常常见的。这些问题通常源于字符集设置不当或编码转换错误。以下是从标题、描述、标签以及部分内容中提取的关键...