症状:??中文乱码
尝试过的方法:
一、试过修改my.ini default-character-set=latin1 ===>> gbk失败
二、增加servlet过滤器 jsp页面设置pageEncoding="GB2312" 无效
三、web开发时来自表单的POST数据,不转码直接入DB Url:
String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"
页面显示时,用new String(dd.getBytes("iso-88-59-1"),"GB2312")转一下可以正确显示从DB中读出的中文数据
但是纯java读取控制台显示就失败,比如java在xml和DB间传递中文数据
四、努力的思考:java中都是Unicode编码,Tomcat是iso-8859-1编码,Mysql默认是latin1?不想还可以,越想越乱
五、google搜索结果:不同的情况不同的答案,以后面试我也问Mysql中文问题,挺有意思的哈
环境:Mysql5。0 Tomcat5.5 Jdk1.5 Windows 2003Server,Jbuilder2006
数据库:mysql5字符集编码:
query result(8 records)
Variable_name | Value |
character_set_client |
latin1 |
character_set_connection |
latin1 |
character_set_database |
latin1 |
character_set_filesystem |
binary |
character_set_results |
latin1 |
character_set_server |
latin1 |
character_set_system |
utf8 |
character_sets_dir |
C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
//数据库url
String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"
String mySqlDriver = "org.gjt.mm.mysql.Driver";
DAO部分public ArrayList GetAllInfo() {
ArrayList aMovies = new ArrayList();
Connection conn = null;
Statement stmt = null;
try {
conn = new DbConnection().GetConnection();
stmt = conn.createStatement();
String sql = "select * from movie";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
movie m = new movie();
m.setId(rs.getInt("id"));
m.setMoviename(rs.getString("moviename").trim());
m.setStars(rs.getString("stars").trim());
aMovies.add(m);
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
ex.printStackTrace();
} finally {
try {
stmt.close();
conn.close();
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
return aMovies;
}
数据显示页页面(向数据库中插入数据时,不转码,取出jsp显示时,用new String(dd.getBytes("iso-88-59-1"),"GB2312")没有问题,但是换成用struts logic 和bean标签输出 的时候,用不了上述函数,所以从DB中出来的中文乱码,servlet过滤器也加上了,失败)
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ page contentType="text/html; charset=GB2312" pageEncoding="GB2312" %>
<html>
<head>
<title>
sucess
</title>
</head>
<body bgcolor="#ffffff">
<table border="1">
<tr>
<td>moviename</td>
<td>stars</td>
</tr>
<logic:iterate id="mv" scope="request" name="movies" >
<tr>
<td><bean:write name="mv" property="moviename" filter="true"/></td>
<td><bean:write name="mv" property="stars"/></td>
</tr>
</logic:iterate>
</table>
</body>
</html>
MySql的中文真是一个地方一个样,随便搜索Mysql中文问题,都一大把,
开发做了好几年,
如今中文犯了难,
看来平时总结少,
咔嚓回到解放前
大家都来说几句哈,谢谢
分享到:
相关推荐
MySQL安装详细教程!!!
mysql学习笔记!!!!!!!!!!!!!!!!!!! mysql学习笔记!!!!!!!!!!!!!!!!!!! mysql学习笔记!!!!!!!!!!!!!!!!!!! mysql学习笔记!!!!!!!!!!!!!!!...
这个是安装说明文件,里面要用的安装文件,除了MYSQL 5。0太大,不能上传,其他的都上传了!!安装文件免费共享了,想快速安装成功的兄弟,请下载这个说明文件,我要收3分哦!我也想去下别人的好东西!!呵呵!
决对好用的。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MySQL数据库提供了很多函数包括: 数学函数:数学函数主要用于处理数字,包括整型、浮点数等。 字符串函数:字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。 日期和时间函数:MySQL的...
而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MSQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的...
读提交怎么解决幻读问题 WHERE a > 1 and b=1 ORDER BY c 建立索引 如何建立联合索引 比较效率COUNT(1)、COUNT(*)、COUNT(主键)、COUNT(字段) B+树可以并发修改吗 B+树是可以并发修改的。 B+树是MySQL默认的存储...
基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java...
全是中文文档,windows系统可以直接打开查询,包括JAVA,JDK中文手册,H5(W3C)中文手册,Jquery中文手册,CSS3.0中文手册,bootstrap中文网址以及C++中文手册(包括STL)和Mysql中文参考手册。
mysql操作文档!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
MySQL驱动包--最新!!!! MySQL驱动包--最新!!!! MySQL驱动包--最新!!!!
MYSQL数据库大进级,是非常全面的MYSQL数据库进阶学习资料!
一、添加mysql依赖 mysql_async 是基于tokio2.0的异步mysql [dependencies] mysql_async = "0.22.2" tokio = "0.2.13" 二、设置database_url,创建连接池 DSN:mysql://root:root@127.0.0.1:3306/testdb?pool_min=...
MySQL 配置常见问题解决,比如 免安装版和安装版可能出现的数据库开机后连接失败,免安装安装失败不可用问题,windows系统和mysql版本不兼容问题!
MySQL中文参考手册.chm 449kb <br/>0 译者序 1 MySQL的一般的信息 1.1 什么是MySQL? 1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5...
mysql安装配置教程
NT v2.5 MYSQL For .Net2.0 beta_dnt_25_n2_mysql.zip" 指的是一个基于.NET 2.0框架的 Discuz!NT 社区论坛系统,专门针对MySQL数据库的版本。Discuz!NT是由Comsenz公司开发的一款开源的论坛软件,它是Discuz!系列的...
吃透MySQL系列 一招教你防止删库跑路!! 基于MVCC,我用C++自己手撸了个MySQL!! 糟了,生产环境MySQL主从数据库不一致怎么办?! 实际案例:MySQL主键性能压测!! MySQL8索引篇:性能提升了100%!! 卧槽,安装...
MySQL是世界上最流行的关系型数据库管理系统之一,当遇到“Starting MySQL… ERROR! The server quit without updating PID file”的启动错误时,通常意味着服务器未能成功启动并更新其进程ID(PID)文件,这可能是...