还是mysql的中文乱码问题
用ChineseToUnicode还是UnicodeToChinese
始终不行。
保存到数据库是用
setString(3,ChineseToUnicode(subject));
结果在数据库中都是??????
public static String UnicodeToChinese(String s){
try{
System.out.println(s);
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(Exception e)
{
return s;
}
}
public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(Exception e)
{
return s;
}
}
问题点数:100、回复次数:10Top
1 楼zxhong(红透半边天)回复于 2002-12-25 13:37:47 得分 20
不转试试!Top
2 楼flowercat(小强)回复于 2002-12-25 13:41:45 得分 20
你的MySQL是在中文Windows下吗?是的话,就不用转换了,直接写就OK!Top
3 楼gyx999()回复于 2002-12-25 13:51:46 得分 0
是中文Windows,但不转换也不行!Top
4 楼gyx999()回复于 2002-12-25 22:46:16 得分 0
难道真的没办法!Top
5 楼topmint(秋景)回复于 2002-12-25 23:37:22 得分 10
把所有处理中文的方法去掉
定好使Top
6 楼redv(Shutra)回复于 2002-12-26 00:24:12 得分 10
我用mysql也没有成功过不管我如何做,唉。。。。。。。。。。。。。。Top
7 楼gyx999()回复于 2002-12-26 12:51:34 得分 0
难道是跟版本有关?
Resin 2.1.0
mysql 3.23.52
jdk 1.4
Top
8 楼gyx999()回复于 2002-12-26 13:06:00 得分 0
如果不转换,那么如果是中文,则在数据库中是空的字符
如果是英文,则正常,这到底为什么?Top
9 楼cornermoss(角落的青苔:时间流过岁月,冲不退不淡是我热情 ^ō^受過苦的笑容 才特別耐看 連玫瑰都因此勇於盛放)回复于 2002-12-26 14:53:38 得分 40
不知道这里有没有大虾是在Win98上编辑JSP,然后上传到Linux上啊?其中的中文乱码是怎么完全解决的呢?各位的Tomcat和JDK是什么版本的啊?
我在Win98+Apache1.3+JDK1.4.1+Tomcat3.1+mySql3.23上好好的,在红帽子Linux+Apache1.3+JDK1.4.1+Tomcat3.1+mysql3.23上怎么就有些乱码呢?
//现在我的做法是每次修改了传到Linux服务器上,然后调试~~特麻烦啊:((
//下面是我解决中文乱码的完全笔记,是不是有些时候多此一举的啊~~~
数据库连接 &useUnicode=true&characterEncoding=GB2312
在head.jsp里<%@ page contentType="text/html;charset=iso8859_1"%>
<meta http-equiv='Content-Type' content='text/html; charset=GB2312'>
JavaBean的编译:javac -encoding iso_8859_1
在JavaBean里
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{ response.setContentType("text/html; charset=GB2312"); }
表单提交
String FA=connect.toGB(request.getParameter("FA"));
显示数据库查询记录:out.println(connect.GS(rs.getString("name")));
//判断如果点击了"登 陆"按纽
if(submit.equals(connect.toGB("登 陆")))
//直接写入汉字到数据库
insert into webqq (fromname) values (connect.toGB("本地工作室"));
//就是不能直接insert into webqq (fromname) values ("本地工作室");
//在jsp中传的参数的值为中文
<a href="profile.jsp?action=show&member=<%=URLEncoder.encode(ffname)%>">
其中的String ffname=connect.GS(friendname); 即为汉字“系统管理员”
//把数据库中取得的结果转化--显示汉字
public String GS(String str)
{ try
{ String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"iso8859_1");
return temp;
}
catch(Exception e) { return "null";}
}
//把表单中提交的中文进行转换
public String toGB(String iso) {
String gb=null;
if (iso != null) {
try { gb=new String(iso.getBytes("ISO8859_1"),"GB2312"); }
catch (Exception e) { gb=null; }
}
return gb;
}
//不知道有用没~~~Top
10 楼wmchief(wm_chief)回复于 2003-01-09 18:30:58 得分 0
兄弟能不能告诉我解决的方法,谢谢Top




