回 帖 发 新 帖 刷新版面

主题:为什么不显示中文?

我的tomcat,接连数据库为sql server2000.网页中其他都很正常,就是数据库中的内容显示为问号???

回复列表 (共6个回复)

沙发

要进行字符集的转换,或者写一个过滤器(网上也有的)

板凳

中文信息是由前一页面传入的
先创建一个trans.jsp页面
代码如下:
<%@ page import="java.io.*"%>
<%! String trans(String chi)
{
               String result = "";
               byte temp [];
               try
               {
                       temp=chi.getBytes("iso-8859-1");
                      result = new String(temp);
                }
                catch(UnsupportedEncodingException e)
                {
                        System.out.println (e.toString());
                }
            return result;
}
%>
然后在你要现实的页面中调用该页面:
<%@ include file="trans.jsp"%>
最后在你要显示中文的页面例如你显示前一个页面传过来的“userName”,
String userName=trans(request.getParameter("userName"));
将userName传进数据库中 你再看看 应该解决了!!

记得要给分啊!!!

3 楼

你没有把程序写出来,不知道具体问题在哪啊,
<%@ page contentType="text/html; charset=gb2312" %>

4 楼

从数据库读出的内容不用进行字符转换,可能是你把这句<%@ page contentType="text/HTML;charset=gb2312"%>
写成了这样就不行<%@ page contentType="text/HTML;gb2312"%>
我也曾遇到过同样的问题,修改为前面的那句就行了

5 楼

2楼的写的不错啊!我用你的程序该了我的代码测试还真的能解决中文显示问题!写的不错我给你家100分!

6 楼

我再加一句还有一中方法想我这样也能解决中文显示问题
<%  
   String sjh = request.getParameter("tt");
   sjh=new String(sjh.getBytes("ISO-8859-1"),"GBK");
   sjh=sjh.replaceAll("\\n","<br>");  
  %>

我来回复

您尚未登录,请登录后再回复。点此登录或注册