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

qinjianhui 2003-03-25 10:32:51
我用的jswdk1.0做的jsp程序,当客户端输入中文时,返回信息却是乱码!
...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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");

当要将中文信息保存到数据库时,有时同样需要进行转换。
数据集介绍:垃圾目标检测数据集 一、基础信息 数据集名称:垃圾目标检测数据集 图片数量: 训练集:7,739张图片 验证集:1,083张图片 测试集:577张图片 总计:9,399张来源广泛的图片数据 分类类别: Garbage(垃圾) 标注格式: YOLO格式,包含边界框和类别标签,适用于目标检测任务。 数据格式:来源广泛的图片数据,细节清晰。 二、适用场景 环境清洁与垃圾管理AI系统开发: 数据集支持目标检测任务,帮助构建能够自动识别垃圾区域的AI模型,辅助清洁人员快速定位和处理垃圾,提升城市环境效率。 智能机器人与自动驾驶应用: 集成至清洁机器人或自动驾驶系统,实现实时垃圾检测与导航避障,推动自动化技术在环保领域的应用。 学术研究与技术创新: 支持计算机视觉与环境保护的交叉领域研究,为AI模型在真实场景中的优化提供数据基础,促进高水平论文发表。 公共监控与城市管理: 用于监控摄像头中的垃圾检测功能,及时发出警报,助力城市卫生管理的智能化和实时化。 三、数据集优势 精准标注与质量保证: 数据标注采用YOLO格式,边界框定位准确,确保模型训练的高可靠性和一致性。 场景多样性与泛化能力: 数据集包含多种环境和条件下的垃圾图片,覆盖不同场景,有效提升模型在复杂情况下的检测性能和适应性。 即插即用的兼容性: 标注格式兼容主流深度学习框架(如YOLO),可直接加载使用,简化开发流程,支持快速模型迭代。 突出的实际应用价值: 专注于垃圾检测任务,为智能城市、环境保护和自动化系统提供高质量数据支撑,推动AI技术解决现实问题。

81,116

社区成员

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

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