环境:
struts1,ibatis,mysql,采用jdbc直连
报错:
登录错误,无法根据用户名和密码查到相应的记录,但事实上该记录是存在的
分析:
连接数据库肯定是成功了,就是查不出来应该查出的结果。
我连本地库,发现OK,但是连测试库,就是出现上面的问题。jdbc配置除了ip地址,用户名和密码,都一样。为什么呢?
考虑到:
登录逻辑中,传给sql的两个参数,一个是用户名,一个是密码,其中用户名是中文的。
猜测:
连接字符串:?useUnicode=true&characterEncoding=UTF-8
连接字符串中存在&,是不是因为转义的问题,从而导致编码没有生效产生了乱码问题?
为什么会是这样的连接字符串:
在applicationContext.xml中,原来jdbc的配置是硬代码写在该文件中的,我将它们提取了出来,放到jdbc.properties中,然后再从applicationContext.xml中进行引用。
在applicationContext.xml中,&是需要用&来表达的,所以在构造jdbc.properties文件的时候直接把连接字符串copy了过去。
是这个问题么:
经过验证,将连接字符串修改为?useUnicode=true&characterEncoding=UTF-8
再连测试库,ok,果然是这个问题。
连接本地库,ok,没问题。
分析,为什么在本地库没有暴露问题:
因为本地库在mysql安装时进行了配置,设置默认字符集为utf-8。而测试库的默认字符集是未知的。
结论:
在xml文件中&是需要转义的。但如果将其移到properties文件中,记得此时&是不需要转义的。
分享到:
相关推荐
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...
查询都是必不可少的一个功能,而查询设计的好坏又影响到系统的响应时间和性能这两个关键指标,尤其是当数据量变得越来越大时,于是如何处理大数据量的查询成了每个系统架构设计时都必须面对的问题。本文将从数据及...
Apache一起使用 MySQL 18 问题和常见的错误 18.1 如果 MySQL总是崩溃怎么办 18.2 使用 MySQL 时一些常见错误 18.2.1 MySQL server has gone away错误 18.2.2 Can't connect to [local] MySQL ...
将一段mysql查询出来的数据处理后复制到excel
Linux 使用rpm方式安装mysql,供大家参考学习使用!,附详细安装配置过程,以及问题处理等
使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 Dbmover for Mysql to Oracle 可以定时,定周期自动运行。 支持 Oracle 8i 以后...
mysql (有时称为“终端监视器”或简称“监视器”)是⼀个交互式程序,使您能够连接到 MySQL 服务器、运⾏查询并查看结果。 mysql也可以⽤于批 处理模式:您预先将查询放件中,然后告诉mysql执行该文件的内容。这...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 ...
1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 ...
+ 4.15.2 启动 MySQL 服务器的问题 + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 ...
5.MySQL多表操作和备份处理 6.MySQL索引分类和各自用途 7.MySQL中的字符串比较函数 8.MySQL中字符串函数详细介绍 9.都出深入SELECT语句的查询功能 10.浅谈MySQL存储引擎选择InnoDB还是MyISAM 11.浅谈unique列上插入...
根据mysql中数据库配置表信息查询mysql中数据,将部分处理为json格式,上传到hbase中。
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 ...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 ...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的...
处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 ...
2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后...