主题:显示乱码!!!
历史的脐带
[专家分:0] 发布于 2005-03-19 22:29:00
利用javabean从数据库中读出数据后,我已用
public String to_String( String str) {
try
{
return new String(str.getBytes("ISO 8859-1"));
}
catch (Exception e)
{
return str;
}
}
对其进行了编码,但显示仍然是乱码,请问还需在哪对其进行编码啊??
回复列表 (共9个回复)
沙发
lulu6686 [专家分:320] 发布于 2005-03-21 12:00:00
ISO 8859-1 把它改成gb2312试一下呢~!!!!
板凳
lefteye [专家分:980] 发布于 2005-03-22 19:12:00
先看看存在数据库中的是不是乱码.如果是,就在存数据前进行编码转换.
3 楼
历史的脐带 [专家分:0] 发布于 2005-03-22 20:35:00
存在数据库的正常,而且我用那个编码往数据库中添加数据库一切正常,就是读出数据不行
用gb2312我也试了,都一个样!!!
4 楼
历史的脐带 [专家分:0] 发布于 2005-03-22 20:36:00
你们一般用什么转换呢??
有什么好的转换代码吗??
5 楼
敦煌之心 [专家分:0] 发布于 2005-03-27 19:56:00
代码是不是应该这样:
public String to_String( String str) {
try
{
str =new String(str.getBytes("GB2312"),"ISO-8859-1");
}
catch (Exception e)
{
return str;
}
}
6 楼
lefteye [专家分:980] 发布于 2005-03-27 22:04:00
<%@ page contentType="text/html;charset=GB2312" %>
先告诉浏览器使用gb2312.
jdbc-0.proxool.driver-url=jdbc:mysql://127.0.0.1/bbs1?useUnicode=true&characterEncoding=gb2312
连接使用gb2312编码.
直接从数据库中读取就可以了,省了编码转换.
7 楼
xiaoxia2004 [专家分:610] 发布于 2005-03-31 09:48:00
你大概用的是tomcat吧
似乎你试过的方法都不可以 ,ISO 8859-1与gb2312的转换后,还要用到一个“过滤器”才能对中文正常操作。(目前我还没拿到“过滤器”)
另外你可以用存储过程来解决这个问题 我目前就是用存储过程来解决的
8 楼
历史的脐带 [专家分:0] 发布于 2005-04-06 15:25:00
多谢大家帮忙了
9 楼
kingzhm [专家分:450] 发布于 2005-04-10 22:36:00
其实你检查一下要显示数据的JSP页面是不是写上
<%@page contentType="text/html;charset=gb2312"%>
如果写了,从数据库拿出来的值,比如
String aa = rs.getString(1);
把aa进行转换,不用非要把那个方法写的JAVABEAN里
aa = new String(aa.getBytes("ISO8859-1"));
我来回复