mysql数据库查询时的中文编码问题

banjiamayi 2010-01-28 08:01:11
mysql数据库,表是utf-8的字符集,JDBC连接字符串指定编码为utf-8,使用:
select * from table where name<>'测试' ;
查询表时where语句没起作用,好像是中文编码的问题,而且数据库是别人的我只能读不能修改数据库的属性,想请教各位一下如何解决?谢谢!
...全文
276 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujun614 2010-02-01
  • 打赏
  • 举报
回复
将my.ini中的配置
把2处
default-character-set=gbk
改为default-character-set=gbk
改好了以后把以前的数据库全部删除!在重新建立过就OK了
liguangwen86 2010-02-01
  • 打赏
  • 举报
回复
把编码转化一下看看。我感觉他们的mysql数据库是默认安装的!
crazylaa 2010-01-30
  • 打赏
  • 举报
回复
乱码啊,看看表结构是什么编码的,字段又是什么编码的?
tianfang 2010-01-30
  • 打赏
  • 举报
回复
连接保持UTF-8,把含中文的SQL字符串转为GB2312,送到数据库做查询
zhanggl1987 2010-01-28
  • 打赏
  • 举报
回复
你说的这些地方的编码格式改过来的话,应该就不是编码的问题了,是其它问题,找找
myeclipse0123 2010-01-28
  • 打赏
  • 举报
回复
楼主先用英文的试试,如果可以就再看看是不是乱码的问题
Fish_LC 2010-01-28
  • 打赏
  • 举报
回复
你确定你的JDBC链接已经做好了字符编码中转换?
现在一般书写一个中文过滤器就可以解决这个中文乱码问题了。
xchen1986 2010-01-28
  • 打赏
  • 举报
回复
设计表中把name 字段属性设置为gb2312
BearKin 2010-01-28
  • 打赏
  • 举报
回复
LZ上面写了 不能修改数据库的属性..
YangWenChaoX 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 coveking 的回复:]
设计表中把name 字段属性设置为gb2312
[/Quote] 正解
coveking 2010-01-28
  • 打赏
  • 举报
回复
设计表中把name 字段属性设置为gb2312
lgq_0714 2010-01-28
  • 打赏
  • 举报
回复
将my.ini中的配置default-character-set=latin1改为default-character-set=utf-8试试看
BearKin 2010-01-28
  • 打赏
  • 举报
回复
select * from table where name like '%测试%';

首先确认这条记录是否真的存在 <> 说不定不好使~

然后你在控制台输出语句 看看有没有问题

查询英文 有没有问题

然后LZ补充问题的进展
zhj92lxs 2010-01-28
  • 打赏
  • 举报
回复
拿到数据库里执行呢
banjiamayi 2010-01-28
  • 打赏
  • 举报
回复
首先感谢各位,我试了各位的方法:
1、如果是select * from table的话字符可以在jsp中正常显示,但是如果在where语句里用到了中文字符where语句就不起作用。
2、如果where语句用英文:select * from table where name <>'test'是可以实现的。
3、在Navicat8中,我把连接属性的mysql字符集改成GB2312,可以在Navicat的console中实现,用Default(UTF-8)的就不行。
4、由于是人家的数据库我只能读不能改人家的库。
5、用like语句不行。
6、在jdbc的连接字符串中我指定了characterEncoding=UTF-8

还请各位再帮忙给看看!
谢谢大家了!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧