JSP+MYSQL+LINUX出现乱码

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:02:35
我给人开发一个网站,系统在WINDOWS下开发完成,一切都正常,但是当网站上传到空间之后在留言板这里出现了乱码,即客户不能留言中文,只要有中文都变成了?,我本机上设定数据库用户的连接编码是gb2312,所以数据库连接字段也没有加useUnicode=true&characterEncoding=gb2312,后来我认为可能是空间数据库默认连接的编码是IS08859-1,就在里面加了那句话,可还是乱码,我想问下有没有人有这方面的经验?在WINDOWS下正常的(附加一句,我打印发现插入的时候也是乱码,但是到数据中去看却又是对的),为什么在LINUX下会出现乱码,帮帮我吧。:(
我本机上的coon.jsp代码是这样的
<%
String host="localhost";
String user="root"; //mysql用户名
String pw=""; //mysql密码
String db="wenting"; //留言本的数据库名
String tab="jspmo"; //留言本表名
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://"+host+"/"+db;
Connection con=DriverManager.getConnection(url,user,pw);
Statement st=con.createStatement();
%>
并没有加useunicode语句,上传到空间中我加了useUnicode=true&characterEncoding=gb2312;
还是有乱码,WINDOWS和LINUX会不会有什么关系呢?

加了useUnicode=true&characterEncoding=utf-8,还

是不是 在自己的系统数据库 设置过编码
连接的时候用useUnicode=true&characterEncoding=gb2312;行
上传到空间就不行了,是因为 那的数据库编码和你的不一样

把那句
useUnicode=true&characterEncoding=utf-8;

utf-8 兼容性是最好的 ,数据库操作最好用这个,
从数据库读出来然后在gb2312 , 往数据库里面写
最好转成utf-8再写进去。

我说的是mysql里面有个配置文件,可能你没动过。
上传到空间中加上试下useUnicode=true&characterEncoding=utf-8;

我认为和系统没有关系,和数据库有关系。
你这边插数据的时候
要response.setCharacter("utf-8");
接收的时候也要转化
request.setCharacter("utf-8");