急!!!jsp页面输出中文问题

bluerain006 2002-02-16 11:47:43
本人以前使用jdk+jswdk制作的页面在NT和WinMe下都是正常的(把控制面板里的区域设置为美国英语),现要将其移植到WIN2000下,按原来方法却无法显示中文,只是显示许多问号,怎么办?
...全文
64 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bpuchris 2002-02-28
修改Servlet.jar中HttpUtil.java中的源代码
改为双字节处理
回复
beyondii 2002-02-28
据我所知,jswdk不支持中文
回复
kinglion 2002-02-27
its ok!
回复
Brainy 2002-02-26
再不行就去掉charset=gb2312

<%@ page contentType="text/html"%>
回复
javagoo 2002-02-25
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
有这些就可以的!!!!
回复
wobensuren 2002-02-24
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>标题</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
如果这样写了还不能解决就可以试试小弟我这个内码转换函数:
public String getStr(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;
}
}


回复
banq 2002-02-23
win2000的欠缺系统是汉字的 ,而你的java是在英语模式下编译的.当然会出错.就象在win2000下编译 在linux下或英语模式下的nt也会出错.
建议你研究一下这个机制.或到我主页看一下.
回复
syl79 2002-02-18
有四种方法,总有一种会成功的:
1,<% @page contentType="text/html;charset=gb2312" %>
2,在编译servlet和jsp时加入代码选项,编译servlet使用javac -encoding iso8859-1 servletname.java
在jsp的zone配置文件中,修改编译参数为:compiler = builtin-javac -encoding iso8859-1
3,在classpath中加入il8n.jar的路径
4,使用函数变换:
String temp_p = "aaa";
byte[]temp_t = temp_p.getBytes ("ISO8859-1");
String temp = new Sring (temp_t);
temp为最后的字体串。
回复
ChDw 2002-02-18
你是这样开头的吗?
如果是的话应该可以啊!

<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>标题</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
回复
ggyy 2002-02-18
MyUtil 的作用是字符串之间的转换。必需关注的是JSP的字符串以Unicode码表示,而留言板界面的表单却是以 gb2312 码表示。所以将用户的留言写进数据库还需要码间的转换。如果不转换而把留言直接写到数据库表,则会产生乱码。下面是 MyUtil 的原代码,存于C:\tomcat\fox\WEB-INF\classes\MyUtil.java ,编译后的MyUtil.class文件也存于此。

  import java.io.*;
  public class MyUtil{
  public static String gb2312ToUnicode(String s){
   try{
     return new String(s.getBytes("ISO8859_1"),"gb2312");
    }
   catch(UnsupportedEncodingException uee){
     return s;
    }
   }
  public static String unicodeTogb2312(String s){
   try{
    return new String(s.getBytes("gb2312"),"ISO8859_1");
   }
   catch(UnsupportedEncodingException uee){
    return s;
    }
   }
  }
回复
bluerain006 2002-02-18
比如:out.pringln("中国");
在2000下的设置也是英语。
不知怎么办才好?


回复
reki 2002-02-17
应该用string类转换一下字符!
回复
pengji 2002-02-17
把你的代码拿来看看!
回复
leonzhao 2002-02-17
英语?
在2000下的设置也是英语吗?
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告