mysql乱码问题
来源:互联网 发布:平面图制作软件 编辑:程序博客网 时间:2024/06/10 01:56
创建的table格式为:
create table emp(
empno INT(4) PRIMARY KEY,
ename VARCHAR(10),
job VARCHAR(9),
hiredate DATE,
sal FLOAT(7,2)
};
表建好后mysql中
发现是没有乱码的,但是通过jsp读取后发现完全不支持中文。
jsp代码如下:
<%@ page contentType="text/html" pageEncoding="gbk"%><%@ page import="java.sql.*"%><html><head><title>www.mldnjava.cn, MLDN高端Java培训</title></head><body><%!public static final String DBDRIVER = "com.mysql.jdbc.Driver";public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";public static final String DBUSER = "root";public static final String DBPASS = "123";%><%Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;%><%try {Class.forName(DBDRIVER);//数据库驱动程序加载conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);//取得数据库连接String sql = "SELECT empno, ename, job, sal, hiredate FROM emp";pstmt = conn.prepareStatement(sql);//实例化preparedStatementpstmt.execute("set names gbk");rs = pstmt.executeQuery();//执行查询操作%><center><table border = "1" width = "80%"><tr><td>雇员编号</td><td>雇员姓名</td><td>雇员工作</td><td>雇员工资</td><td>雇员日期</td></tr><%while(rs.next()) {int empno = rs.getInt(1);String ename = rs.getString(2);String job = rs.getString(3);float sal = rs.getFloat(4);java.util.Date date = rs.getDate(5);%><tr><td><%=empno%></td><td><%=ename%></td><td><%=job%></td><td><%=sal%></td><td><%=date%></td></tr><%}%></table></center><%} catch(Exception e) {System.out.println(e);}finally{rs.close();pstmt.close();conn.close();}%></body></html>
原因分析如下:
1.数据库中为什么能够正常显示?
因为数据库的编码方式是一定的,当我通过客户端进行建表后,服务器端按照特定的编码方式进行存储。当我再从客户端读取服务器端的数据时,服务器端按照原先的编码方式返回,所以能够看到中文。
2.以jsp方式为什么不能够正常显示中文?
因为我在jsp中指定了pageEncoding的方式,如果和数据库服务器端的编码方式不同,那么就不能保证能够正常显示中文了。
解决方法:
运行mysql的安装目录下/bin/MySQLInstanceConfig.exe
选择gbk方式(和jsp方式相同,当然其他支持中文的也可以)(目测这一步的本质就是修改了my.ini文件),然后重启mysql,重新建表,就可以了。
另外,我本来设置编码方式为utf8的,但是发现设置成utf8后中文就插入不了了。不知道怎么解决
补充:
上面留的问题(就是设置成utf8数据库表不能插入中文):
输入命令:show create table emp\G
可以看到windows下mysql的cmd窗口输入的默认编码方式是gbk,你输入gbk方式,服务器端用utf8,不兼容,所以插不进去了。
0 0
- mysql数据库乱码问题
- MySQL的乱码问题
- mysql 中文乱码问题
- MySql 中文乱码问题,:
- SSH+MYSQL乱码问题
- php+mysql乱码问题
- MySql 乱码问题
- mysql 数据库乱码问题
- 关于mysql乱码问题
- Mysql 客户端乱码问题
- mysql乱码问题
- PHP+mysql乱码问题
- MySql乱码问题
- mysql乱码问题!
- mysql 乱码问题终结
- mysql导出乱码问题
- mysql乱码问题
- MYSQL中文乱码问题
- 求全是1的最大矩阵面积 Maximal Rectangle @LeetCode
- 启动webApplicationContext的方式
- cmmi--软件王者之道
- [转载] 我叫李小帅
- Linux下查看文件和文件夹大小
- mysql乱码问题
- 获取3个数组不重复的值的具体实现
- 有关乱码的问题(出现??????的情况,两次解码的原因)
- nginx日志切割及启动文件配置
- 如何用好指针
- WCF使用X509证书数据加密
- Uncaught TypeError: Object #<HTMLDivElement> has no method 'attr'
- 如何查找只有图片的文章?
- debian下python的基本安装