把jsp里面的数据提交到My SQL,中文提交上去就是乱码: try{ conn = DriverManager.getConnection(connStr,"root","123456"); psql = conn.prepareStatement("insert into news values(?,?,?,?,?,?,?)"); psql.setString(1, news_id); psql.setString(2, news_title); psql.setString(3, news_content); psql.setString(4, news_author); psql.setString(5, news_time); psql.setString(6, news_keyword); psql.setString(7, news_type); psql.executeUpdate(); } catch(Exception e){ myErr =e.getMessage(); System.out.println("Error: " + myErr); } Debug发现news_id等值都是正常的中文,提交到My SQL以后就成了乱码,这是什么原因呢? |
|
4分 |
MYSQL数据库的字符集也设置成UTF-8
|
4分 |
1、终止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可 3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭 4、启动MySQL服务 |
2分 |
亲,怎么又是你。。。。。
首先,判断你后台拿到jsp数据的时候是不是乱码 如果是,那就是你后台获取参数的时候需要设置编码 如果不是,那就是你数据库连接方面需要设置编码…… |
2分 |
1.jsp提交方式用post;
2.jsp页面设置utf-8; 3.数据库设置为utf-8; |
后台拿到的不是乱码,我用的是ODBC,连接字符串是 String connStr="jdbc:odbc:mynews"; 这样怎么设置编码呢? |
|
2分 |
mysql和jsp编辑格式保持一致。
|
保持一致了,还是不行,我用的是ODBC,会不会有影响? |
|
2分 |
一步一步调试
1 数据从前台传递后台是否乱码? 2 数据库的编码是否一致 3 传递到controller里面是否有设置编码类型 |
2分 |
tomcat的端口编码设成utf-8试下
|
2分 |
看看你页面最上面创建的是什么编码格式如果不是UTF-8可以加上
或者后台接收参数时进行编码格式转换 String value = new String (request.getParameter(“name”).getBytes(“ISO-8859-1″),”UTF-8”); 如果以上都解决不了的话 可能是数据库编码设置问题 MYSQL一般会出现这样的问题 可以用以下方法查看编码格式 其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码; character_set_results结果集的编码; character_set_server数据库服务器的编码; 只要保证以上四个采用的编码方式一样,就不会出现乱码问题。 |