java插入数据显示乱码
你说是风就是风 人气:0在开发的过程中我们经常能遇到乱码的问题,这个出现这个问题的可能性非常的多,对于开发人员来说乱码的问题又不得不去,本文就着出现乱码的情况对其的解决的方法进行了总结,希望能够对于大家有用。
1、前台乱码的问题
检查前台页面上的charset的字符集是否是utf-8
然后再查看后台项目的编码集是否是一致的
右击项目-->选择Properties-->然后查看一下Text file encoding 下的编码格式是否为utf-8,如果不是就把他改为utf-8即可
2、前台先后台插入数据后台接收到的数据是乱码
第一步:我们可以先查看一下tomcat的conf文件夹下的server.xml文件中的Connector是否是utf-8,如果不是就添加 URIEncoding="UTF-8",设置tomcat的编码格式为utf-8
如果tomcat上修改编码格式的方式还不行,那么第二步:我们可以去修改web.xml配置文件,因为前台向后台传输数据都需要经过web.xml配置文件。
具体代码如下:
< servlet > < servlet-name >Encodeing</ servlet-name > < servlet-class >cn.hncu.com.encode.Encodeing</ servlet-class > < init-param > < param-name >charset</ param-name > < param-value >utf-8</ param-value > </ init-param > </ servlet >
3、后台向数据库插入数据是乱码
后台向数据库插入的数据是乱码,那么大部分是项目和数据库的编码格式不服,前面已经设置了项目的编码格式为utf-8,那么接下来我们就要检查数据库的编码格式具体步骤如下:
测试一下乱码的问题是否解决,如果还不行则还可以检查数据库的设置,在mysql安装目录的my.ini中应该有如下的配置(没有可以手动添加):
[mysql] character_set_server=utf8 init_connect='SET NAMES utf8'
最后还可以试下修改数据库连接,使用以下方式指定编码:
jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8
运用这些方法解决了我的传值问题,相信对你也有用。
附:Java向数据库插入中文出现乱码的问题
主要解决方向,JAVA与MYSQL中编码要统一。通常采用UTF-8.
这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的。
1.查询自身MYSQL编码方式
MySQL默认编码是latin1
mysql> show variables like 'character%'; +--------------------------+--------------------------+ | 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 | D:\MySQL\share\charsets\ | +--------------------------+--------------------------+
2.若项目用UTF8编码,则将MYSQL也改为UTF8编码。通过修改my.ini文件。添加如下几项,再重启MYSQL服务就好。
[mysql] default-character-set = utf8 [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci
总结
加载全部内容