我用Myeclips 向SQL中插入中文 显示出来了乱码 怎么办 如题,打开数据库中 发现里面存的 是乱码,时间不是乱码。插入的中文都是乱码了!大概什么原因呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很多原因,不同层次上的:首先你判断的执行的SQL语句中是否有乱码,打印看看就知道,若是乱码就是参数提交中文编码转化问题还有数据库层次的,MySql需要设置编码,确认是否gbk或gb2312 如楼上所说,如果是MYSQL数据库,可以在连接的URL里指定编码格式。如果是其他的,可以尝试使用过滤器进行解决。直接用TOMCAT中EXAMPLE里的过滤器应该就可以有效。当然,也可以自己写,反正也就几行代码,呵呵。 post 提交的话 请确定你有没有处理字符的过滤器,get 提交的时候有没有转码过呢 是这样的 ,汉字对于的编码是gbk 和gb2312 gbk是简繁体中文,而gb2312是简体中文,因为你数据库中插入的数据就是乱码所以是你没有处理汉字,要先将汉字通过gbk,gb2312解码,或者用utf-8. 因为一般编辑器都是默认的ISO-8859-1。所以如果我们传值或是往数据库中插就要先转化:比如 String bb="汉字"; Stirng cc=new String((bb).getBytes("ISO-8859-1"),"GBK"); 这时cc就是“汉字”了,如果没有第二句的处理,就是乱码 我Action中String topic=request.getParameter("topic");String who=request.getParameter("who");Talk talk=new Talk(); talk.setTopic(topic); talk.setWho(who); System.out.println(talk.getTopic());//输出的已经是乱码的 ,是不是要把String topic=request.getParameter("topic");先做个处理下,像楼上说的,马上试下 request.setCharEncoding("utf-8");可能拼错了。不过我也记不清了。离了IDE真的是什么都不会了。 struts2可以上传整个文件夹吗? jsp中调用linux服务器执行命令 LazyInitializationException 的问题 (网上找不到理想的解决方法,请高手指教) 请问连接mysql数据库的字符串是这样写的吗? 在JAVASCRIPT中怎么写啊? 求人帮调程序 xfire客户端空指针,高手帮帮忙呀 cannot resolve symbol 哪位好心人帮我看一下这个问题,感激不尽 tomcat中,与oracle连接,需要配置吗? 需要有关servlet方面的电子书籍 请教:WEB开发 新成立的java爱好者联盟 群号40986679
首先你判断的执行的SQL语句中是否有乱码,打印看看就知道,若是乱码就是参数提交中文编码转化问题
还有数据库层次的,MySql需要设置编码,确认是否gbk或gb2312
post 提交的话 请确定你有没有处理字符的过滤器,
get 提交的时候有没有转码过呢
String bb="汉字";
Stirng cc=new String((bb).getBytes("ISO-8859-1"),"GBK");
这时cc就是“汉字”了,如果没有第二句的处理,就是乱码
String topic=request.getParameter("topic");
String who=request.getParameter("who");
Talk talk=new Talk();
talk.setTopic(topic);
talk.setWho(who);
System.out.println(talk.getTopic());//输出的已经是乱码的 ,是不是要把String topic=request.getParameter("topic");先做个处理下,像楼上说的,马上试下
离了IDE真的是什么都不会了。