我的为什么不显示中文??????????

qinjianhui 2003-03-25 10:32:51
我用的jswdk1.0做的jsp程序,当客户端输入中文时,返回信息却是乱码!
...全文
39 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sunenvoy 2003-03-26
JSP下的中文显示解决方案
在JSP中,中文乱码会让人心乱如麻。读者在使用JSP输出中文时,经常会
发现中文无法正常显示,不是乱码就是出错。经过测试,总结了一下几种方法,
以解决在JSP中显示中文文字问题:
1)修改区域设置:在控制面板中选择区域设置,设为英语(美国),
然后重新启动系统,一切就会正常,或者干脆安装一个英文的操作系统。
2)在JSP页面中加入一条语句:
<%@page contentType = "text/html;charset = gb2312"%>
3)在编译JSP和Servlet时加入代码选项。编译Servlet时使用:
javac - encoding iso8859 - 1 myServlet.java
4)在JSP的Zone配置文件中,修改编译参数为:
compiler = builtin - javac encoding iso8859 -1
使用以上方法后,不需要作其他改动就可以正常显示中文了。
在Windows + Resin 系统中,笔者推荐使用的二种方法,因为这种方法简单
易行。但在其他Application Server 中,可能要用到其他方法,例如,以下面的
方法进行代码转换:
try{
out.println(new((new String("中文字符")).getBytes("GBK"),"ISO8859-1"));
}
catch (UnsupportedEncodingException e){
//..............
}
使用这种方法一定要捕获UnsupportedEncodingException这个异常。
或者使用下面的函数:
<%!
Public String geStr(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";
}
%>
这个函数接受参数为字符串,返回的时转换过内码的另一个字符串。
注意:对于这个字符串转换函数时不能应用在Resin上的。如果使用这个转换
函数,则本来已经输出正常的中文字符就会变成乱码。所以对于Resin,推荐
使用以上方法的的二种方法。
回复
qinjianhui 2003-03-26
我改用resin了。这个对中文支持比较好。我怀疑是jswdk的问题!
回复
miaoliujun 2003-03-26
<%@page contentType = "text/html;charset = gb2312"%>
就行了
回复
dwei 2003-03-26
我用<%@page contentType = "text/html;charset = gb2312"%>
和函数<%!
Public String geStr(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";
}
%>
在Tomcat中中文一切正常,多试试吧。

^_^
回复
qinjianhui 2003-03-25
我已经试过了。不行啊!是不是其它方面的原因啊!
回复
boy21cn 2003-03-25
输出前将字符串进行如下的转换:
public String convert2unicode(String nativeCode)
{
if(nativeCode==null || nativeCode.length()==0)
return null;
byte buffer[]=new byte[nativeCode.length()];
int j=0; //j用来标识buffer中的当前插入点
for(int i=0;i<nativeCode.length();i++)
if(nativeCode.charAt(i)>=0x100)
{
char c=nativeCode.charAt(i);
byte bu[]=(""+c).getBytes();
buffer[j++]=bu[0];
buffer[j++]=bu[1];
}
else
buffer[j++]=(byte)nativeCode.charAt(i);
nativeCode=new String(buffer,0,j);
return nativeCode;
}
通过get或post方法得到的字符串才需要经过上述转换。
还有需要查询数据库时也要先转换(有的jdbc-odbc可以自动转换)

我一直是自己写这个函数来进行字符编码转换。
回复
smallbugs 2003-03-25
<%@ page contentType = "text/html;charset=GBK" %>
回复
qinjianhui 2003-03-25
有没有高手指教,我很急啊!???
回复
xjavam 2003-03-25
请用以下方法试试:
在jsp文件中将中文输入或输出的变量进行如下转换:
在文件开始处需有如下声明:
<%@ page contentType="text/html;charset=GB2312" %>

String clientname1 = request.getParameter("clientname");
String clientname = new String(clientname1.getBytes("ISO-8859-1"),"GBK");

当要将中文信息保存到数据库时,有时同样需要进行转换。
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-03-25 10:32
社区公告
暂无公告