SSH框架,mysql数据库中存进的是中文,查出来的却是乱码 SSH框架,mysql数据库中存进的是中文,查出来的却是乱码?查询数据库,显示的也是中文,过滤器也加了,只有在读取出来时是乱码,别的全都不乱jsp页面也加上<%@ page contentType="text/html; charset=gb2312"%> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把charset=gb2312"改成charset=UTF-8"试试? charset=UTF-8也试过,还是乱码; 那你把页面上夜设置成gbk试试啊! spring自带一个过滤器,可以解决了乱码问题 basic = new String(basic.getBytes("iso-8859-1"), "utf-8"); 用这个比较好吧 new String(basic.getBytes("iso-8859-1"), "utf-8"); new String(basic.getBytes("iso-8859-1"), "utf-8");spring过滤器,编码格式也设置成GBK都试过,还是不行..... MySql是要设置数据库的字符集的 mysql> show variables like 'character_set_%';+--------------------------+---------------------------------------------------------+| 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.1\share\charsets\ |+--------------------------+---------------------------------------------------------+8 rows in set (0.00 sec)mysql> 设置URL:jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8这种方法试过,也不行..... 所有的编码已经统一,在后台print出来也显示乱码; 链接方式设置为URL:jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8并且页面的编码设置要与其统一 我用mysql客户端查询服务器上的数据库有时候中文显示的全部是乱码,重启一下服务器就好了,不知道为啥 有可能是你明mysql装的时候 字符集不正确 你可以查看下 数据库的字符集 数据库mysql重新安装一下,选择编码gbk tomcatserver.xml 加下gbk编码: <Connector port="8080" URIEncoding="GBK"/> Mysql解决办法:1)统一jsp中的文件编码。都改为UTF-8 ,jbk 或 gb2312,保证你传到数据库的时候不是乱码。这个可以通过简单的打印一下就可以知道页面中是否出现乱码。2)如果没有乱码,则数据库的编码跟你页面中传过来的编码不同。那么就得改变你页面中的编码或是改变你装的Mysql数据库编码。3)修改数据库编码:首先找到Mysql数据库的安装路径,在其安装路径中找到"my.ini"文件用文本格式打开,再在里面找到"[mysqld]" 在下面找到default-character-set=latin5 我这里的是"latin5",你的那里可能是其他的,把”latin5“改为你网页中设置的编码如UTF-8. 然后再找到"[mysql]"下的”default-character-set=utf8“默认不是gbk 把它改为gbk 过滤器,数据库编码及jsp页面编码都换成gbk mysql在安装时 是要设置语言的 你设置的是什么语言 肯定可以 new String(basic.getBytes("iso8859-1"), "utf-8"); 现在除了没有重装MYSQL,其他各种方法都试用过,在数据库中显示的是中文,查询显示在JSP页面上显示乱码..... 数据库德连接串这么写String url = "jdbc:mysql://localhost/db?user=abc&password=cde&useUnicode=true&characterEncoding=utf-8";当然整个项目也用UTF-8编码,连接串中的数据库名称,用户名密码写自己的! 我也遇到了同样的问题,解决的方法是在里阿杰数据库的时候,在数据库名后边添加如下代码userencoding=UTF-8 刚才没写完,不好意思啊!!con = DriverManager.getConnection("jdbc:mysql://localhost:3306/welfaresystem?useUnicode=true&characterEncoding=UTF-8", "root", "123");即可,应该是向数据库存数据是就存入的是乱码。 不只是数据库编码问题。。还有页面编码,IDE编码,各种码吧。。当初我也在csdn上问编码的问题,大家也给 了好多是方案,但是都失败了。。最后我花了将近一天的时间,在baidu、google上找资料。。改的一塌糊涂。。但是问题解决了,呵呵我朋友的机器就该了一个编码就搞定了。。难道跟机器也有关系?? 你在创建工程的时候,要吧工程也配置成GBK 我也遇到过这个问题,后来在tomcat6.0安装目录下的 conf/server.xml 加一句话如下面红色字体所示, <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodingForURI="true"/>就是有可能不是数据库的事,是服务器的事,不知道你的这种情况和这个有关没! struts2 属性注入的一个问题 打印 数据不显示 json JS 相关 在线等待。。。。 JSP + Access 使用Group By 操作,为什么会出一批空记录,以null的形式打印出来 struts标签的value值是另一个struts标签获得的值,这样可以吗?(在线等) 新手,使用Enumeration出错 正在做一个博客系统,数据库如何设计?! SOS!!!头痛的jsp页面的问号 请教指点迷经万分感谢 小问题,小弟刚学,请高手指导. 最后的10求 怎么得到表单里共有多少控件??? tomcat 无法正常启动 关于在Java中使用URLRewrite的问题
spring过滤器,编码格式也设置成GBK都试过,还是不行.....
+--------------------------+----------------------------------------------------
-----+
| 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.1\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)mysql>
这种方法试过,也不行.....
你可以查看下 数据库的字符集
server.xml 加下gbk编码:
<Connector port="8080" URIEncoding="GBK"/>
1)统一jsp中的文件编码。都改为UTF-8 ,jbk 或 gb2312,保证你传到数据库的时候不是乱码。
这个可以通过简单的打印一下就可以知道页面中是否出现乱码。
2)如果没有乱码,则数据库的编码跟你页面中传过来的编码不同。那么就得改变你页面中的编码或是改变
你装的Mysql数据库编码。
3)修改数据库编码:首先找到Mysql数据库的安装路径,在其安装路径中找到"my.ini"文件用文本格式打开,
再在里面找到"[mysqld]" 在下面找到default-character-set=latin5 我这里的是"latin5",你的那里可能是其他的,
把”latin5“改为你网页中设置的编码如UTF-8. 然后再找到"[mysql]"下的”default-character-set=utf8“默认不是gbk 把它改为gbk
new String(basic.getBytes("iso8859-1"), "utf-8");
String url = "jdbc:mysql://localhost/db?user=abc&password=cde&useUnicode=true&characterEncoding=utf-8";
当然整个项目也用UTF-8编码,连接串中的数据库名称,用户名密码写自己的!
userencoding=UTF-8
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/welfaresystem?useUnicode=true&characterEncoding=UTF-8", "root", "123");即可,应该是向数据库存数据是就存入的是乱码。
还有页面编码,IDE编码,各种码吧。。当初我也在csdn上问编码的问题,大家也给 了好多是方案,但是都失败了。。最后我花了将近一天的时间,在baidu、google上找资料。。改的一塌糊涂。。但是问题解决了,呵呵我朋友的机器就该了一个编码就搞定了。。难道跟机器也有关系??
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"/>
就是有可能不是数据库的事,是服务器的事,不知道你的这种情况和这个有关没!