jsp中文问题急急急急急!!!

qianyuting 2002-03-29 11:04:59
我用jsp编了一个论坛,关于在session中保存的中文
在win_me+tomcat4.03+jdk1.4下正常
而在RH linux+jdk1.4+tomcat4.03+apache+1.3.11下不正常,这是为什么??
...全文
57 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
chrischen79 2002-04-02
  • 打赏
  • 举报
回复
servlet编译成class文件放在你的web app目录下的WEB INF/classes下,还有编辑你的web app deploy description文件,web.xml,添加你需要的servlet,注意url path要和你在jsp中调用的servlet路径吻合

你可以用jb帮助你完成这些工作,再参考jb对web.xml的修改,就明白了
qianyuting 2002-04-02
  • 打赏
  • 举报
回复
让我看一下
qianyuting 2002-04-01
  • 打赏
  • 举报
回复
补充一下,我的服务器为TOMCAT4。03
qianyuting 2002-04-01
  • 打赏
  • 举报
回复
我现在的问题是:

在LINUX上的一个JSP页面中,我调用了一个SERVLET,请问将SERVLET放于何处呢,是放JAVA文件还是还是CLASS文件!!
qianyuting 2002-04-01
  • 打赏
  • 举报
回复
chenyuan_tongji(chenyuan_tongji) :

你误会了,我的意思是说从数据库中读出的数据在进行输入时必须进行转换,至于代码是不输错也,望见谅:

out.println(new String( param.getBytes("iso-8859-1") ,“GBK”));

xuym 2002-03-31
  • 打赏
  • 举报
回复
把JSP页面的头部加入如下:

<%@ page contentType="text/html; charset=GB2312" %>
即可
天下有雪 2002-03-31
  • 打赏
  • 举报
回复
你从数据中取出的中文显示为?????可能是因为你是把JSP页面中的数据存在数据库后再取出来用的,存数据前也要用String newstr=new String(request.getParameter("name").getBytes("ISO-8859-1"));转换一下你的中文数据。否则存进去时就是????了。
chrischen79 2002-03-31
  • 打赏
  • 举报
回复
(2)从数据库中读出时,也必须转换:

new String( request.getParam("param").getBytes("iso-8859-1") ,“GBK”);

这个是处理数据库查询数据的代码吗?怎么有request?

还有我说的数据库查出来的东西直接输出是针对mysql没有制定字符集的时候,这是我实践的结果;我在处理sql server查询数据时则有编码转换。这些都是个人经验,如果对你有误导,请见谅。
disk 2002-03-31
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=gb2312%>这个行吗

lnu 2002-03-31
  • 打赏
  • 举报
回复
为解决Linux 下JDK的中文字体的Bug,还需新型如下更改

(参照 /etc/X11/fs/config 文件中字体的种类,按照下面的格式进行更改)
-------------------------------------------------------------
# jdk's bug

JAVA_FONTS=\
/usr/X11R6/lib/X11/fonts/misc:\
/usr/X11R6/lib/X11/fonts/75dpi:\
/usr/X11R6/lib/X11/fonts/100dpi:\
/usr/X11R6/lib/X11/fonts/misc:\
/usr/X11R6/lib/X11/fonts/Type1:\
/usr/X11R6/lib/X11/fonts/Speedo:\
/usr/X11R6/lib/X11/fonts/75dpi:\
/usr/X11R6/lib/X11/fonts/100dpi:\
/usr/share/fonts/default/TrueType:\
/usr/share/fonts/default/Type1:\
/usr/java/jdk/jre/lib/fonts

export JAVA_FONTS
qianyuting 2002-03-31
  • 打赏
  • 举报
回复
现在已经可以了,不过我得订正一下,上面那位大哥说得不全正确:
red hat+tomcat+mysql处理表单:
通过request.getParameter得到的变量在进行数据库操作等时不能进行任何转换,只有在进行输出时才能用下面的语句:
String param = new String( request.getParam("param").getBytes("iso-8859-1") ,“GBK”);


、“从数据库中读出的中文无需代码转换,直接可以输出。”也行不通!!!!
qianyuting 2002-03-31
  • 打赏
  • 举报
回复
告诉各位师兄:

对于数据库的中文问题在各位的指点和本人的努力下,经过3天的奋战,忆基本解决,现向各位汇报一下:


对于数据库的中文问题要分为两步:
(1)必须保证在写入数据库之前,文字显示正常
也就是:用out.println()输出,是否正常显示,如果不正常的话,要进行转换。
(2)从数据库中读出时,也必须转换:

new String( request.getParam("param").getBytes("iso-8859-1") ,“GBK”);

在上面两步中,我的问题已经解决,如有不明白的地方,我愿帮助大家,也欢迎大家与我联系!!

chrischen79 2002-03-30
  • 打赏
  • 举报
回复
我在linux下的处理经验:
red hat+tomcat+mysql
处理表单: String param = new String( request.getParam("param").getBytes("iso-8859-1") );

从数据库中读出的中文无需代码转换,直接可以输出,不过jsp页面要有
<%@ page contentType="text/html; charset=GBK" %>
qianyuting 2002-03-30
  • 打赏
  • 举报
回复
请各位大侠都来关注一下我的问题吧!!

解决了必有重谢!
qianyuting 2002-03-30
  • 打赏
  • 举报
回复
让我现试一下。。。
TigerChen 2002-03-29
  • 打赏
  • 举报
回复
你在jsp头加了这些吗?
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Cache-Control","Max-stale=0");
response.setHeader("Pragma","no-cache");
response.setHeader("Expires","-1");
response.setHeader("Max-age","0");
response.setContentType("text/html; charset=gb2312");
%>
qianyuting 2002-03-29
  • 打赏
  • 举报
回复
再补充一下,我所说的显示不正常是指显示的为“?????”,
估计是编码问题,请各位高人赐教
qianyuting 2002-03-29
  • 打赏
  • 举报
回复
请问上面的老兄:
拷贝中文字体文件simson.ttf到jre/lib/fonts目录下面
修改fonts/fonts.dir文件
simson.ttf ....忘记怎么写了,可以拷贝font.properties需要的字体字符串
在首行数字加一

能说具体一点吗,我不太明白。
我已经将windows下的simsun.ttf cp 至jre/lib/fonts目录下面
也将fonts.dir 文件第一行的72改成了73,还有什么呢?



qianyuting 2002-03-29
  • 打赏
  • 举报
回复
我正在试验当中,可行马上给分
BugHunterPro 2002-03-29
  • 打赏
  • 举报
回复
RedHat是英文版操作系统,所以没有提供中文字体
那么你必须自己为jdk提供字体,看这个帖子
http://www.csdn.net/expert/topic/403/403793.xml?temp=.2853968
加载更多回复(13)

23,407

社区成员

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

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