关于字符转换!

friendyou 2003-08-24 07:36:34
我用的Access,吧网页上面的一段汉字存到数据库中,结果打开数据库却发现我村的东西全都变成了问号????,然后我又把数据库里面的东西返回显示到网页里面,结果全都是问号,我里面用了字符转化了,怎么会这样?转换bean如下
public String gbToiso(String str)
{
String newstr=null;
try{
byte[] exchange;
exchange = str.getBytes("ISO8859_1");
newstr= new String(exchange);
}catch(Exception e1){System.out.print(e1.toString());}
return newstr;
}
public String isoTogb(String str)
{
String newstr=null;
try
{
byte[] exchange;
exchange=str.getBytes("ISO8859_1");
newstr=new String(exchange,"GB2312");
}catch(Exception e2){System.out.print(e2.toString());}
return newstr;
}
怎么回事儿?哪里出错了?
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodle 2003-08-25
  • 打赏
  • 举报
回复
to seaman0916(沙漠孤鹰)
我也用过你的方法,我把class文件跟页面文件放在同一个文件夹,我也试过把class文件打包成jar文件,然后在环境变量classpath添加bean.jar所在的路径,但都是同一个错误package beans does not exist,请问如何是好?
wynton 2003-08-25
  • 打赏
  • 举报
回复
to: seaman0916(沙漠孤鹰)
我用的就是你贴上来的代码啊?谢了!
代码如下:
package beans ;
public class ISOtoGB2312
{
public String getConvert(String str)
{
try
{
byte[] byteStr=str.getBytes("ISO-8859-1");
return new String(byteStr,"gb2312");
}
catch(Exception e)
{
return str;
}
}
}


JSP代码:
<%@page contentType="text/html;charset=GB2312" language="java" import="java.util.Enumeration" %>
<jsp:useBean id="chage" scope="session" class="beans.ISOtoGB2312"/>

<html>
<head>
<title>Value Of Name</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
<!--定义表单数据-->
<input type="hidden" name="隐藏域" value="值">
<input type="text" name="文本域">
<input type="submit" name="Submit" value="提交按钮">
</form>
<p>
<%
//提取“名”集合
Enumeration names = request.getParameterNames();
String name,value;
for(Enumeration e=names;e.hasMoreElements();)
{
name = chage.getConvert(e.nextElement().toString());//调用javaBean的getConvert方法
value = chage.getConvert(request.getParameter(name));
out.println("<p>");
out.println("'"+name+"'"+"的值是"+"'"+value+"'");
out.println("</p>");
}
%>
</p>
</body>
</html>

请指教,别笑我弱智,我本是菜鸟!!!
wynton 2003-08-25
  • 打赏
  • 举报
回复
to: seaman0916(沙漠孤鹰)
我用的就是你贴上来的代码啊?谢了!
seaman0916 2003-08-25
  • 打赏
  • 举报
回复

wynton(云中漫步):
看来是你们的接收参数的页面有问题呀!把代码让我看看!


goodle(小鬼):

就照wynton(云中漫步):说得那么做!没问题的!
wynton 2003-08-25
  • 打赏
  • 举报
回复
to: goodle(小鬼)

你用的是Tomcat吗?如果是的话,在你的WEB-INF/classes下建立新目录beans,然后把你编译好的ISOtoGB2312.class文件放在beans目录下就OK了,但是有我上面提到的问题,请大家帮忙给讲解讲解是什么原因啊????
wynton 2003-08-25
  • 打赏
  • 举报
回复
to:seaman0916(沙漠孤鹰)
我得到的结果是这样的:
'隐藏域'的值是'null'

'文本域'的值是'null'

'Submit'的值是'提交按钮'
为什么啊,请您解释一下,多谢了!
Email: wynton@i618.com.cn
seaman0916 2003-08-24
  • 打赏
  • 举报
回复
package beans ;
public class ISOtoGB2312
{
public String getConvert(String str)
{
try
{
byte[] byteStr=str.getBytes("ISO-8859-1");
return new String(byteStr,"gb2312");
}
catch(Exception e)
{
return str;
}
}
}

我用的javabean ,你试试看!
cuihao 2003-08-24
  • 打赏
  • 举报
回复

public class CharacterChange{
public String getStr(String str)//取、
{
try
{
String temp_p=str;
//byte[] temp_t=temp_p.getBytes("GBK");
//String temp=new String(temp_t,"ISO8859_1");
return temp_p;
}
catch(Exception e)
{ return "null";}
}
public String getStr1(String str)//存
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859_1");
String temp=new String(temp_t);
return temp;
}
catch(Exception e)
{ return "null";}
}
}

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧