简单问题:servlet中用out.print输出中文为“乱码”如何解决,送分~~

center204 2003-12-22 09:53:45
简单问题:servlet中用out.print输出中文为“乱码”如何解决,送分~~
...全文
1732 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
blapho 2003-12-22
  • 打赏
  • 举报
回复
保证:
contType="text/html; charset=gb2312"
试用:
string a="aaaa";
byte i[]=new a.getBytes("ISO-8859-1");
s=new String(a);

如果还出现?????????????或都乱码,则换一个编写工具,推荐用editplus2.0以前我也碰到过这样的问题.

要是还???????????????????????非吾之能力所及也!~~~~~~~~~
center204 2003-12-22
  • 打赏
  • 举报
回复
contentType="text/html; charset=gb2312"
分别设为gb2312 GBK iso8859_1都不行,怪,jsp死活没事。
kenny1979 2003-12-22
  • 打赏
  • 举报
回复
明白
contentType="text/html; charset=gb2312" 这个设了没有?
center204 2003-12-22
  • 打赏
  • 举报
回复
kenny1979(肯) 用你的方式,的确不是乱码了,但变成N个?号,明白?
kenny1979 2003-12-22
  • 打赏
  • 举报
回复
那你的servlet代码里面加我的那段代码了吗?
center204 2003-12-22
  • 打赏
  • 举报
回复
编译servlet时增加encoding ISO8859_1编译参数,如:javac -encoding ISO8859_1 test.java
这个我分别试了GBK gb2312 以及ISO8859_1,不行,环境是tomcat 4
谈祥庆 2003-12-22
  • 打赏
  • 举报
回复
编译servlet时增加encoding ISO8859_1编译参数,如:javac -encoding ISO8859_1 test.java
yupingping 2003-12-22
  • 打赏
  • 举报
回复
up
kenny1979 2003-12-22
  • 打赏
  • 举报
回复
我这个不是够简单的了?! 晕的 你试过没有啊?
center204 2003-12-22
  • 打赏
  • 举报
回复
有没有简单的方式,为什么用setContentType不可以,jsp可以的啊
kenny1979 2003-12-22
  • 打赏
  • 举报
回复
String str = "...";
byte[] tmpbyte= str.getBytes("ISO8859_1");
String newstr = new String (tmpbyte);
这样就可以了!
center204 2003-12-22
  • 打赏
  • 举报
回复
不行,我用的是tomcat 4 不可以
dollyang 2003-12-22
  • 打赏
  • 举报
回复
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
这样就可以了!
center204 2003-12-22
  • 打赏
  • 举报
回复
还真是tomcat没配好,但怎么jsp没事,晕了,不想了,送分~~
飞天神笔 2003-12-22
  • 打赏
  • 举报
回复
嘿嘿,看来这个问题得我来得分了。。。。。。

出乱码并不是Servlet的错,而是tomcat的错。

对tomcat进行相应配置,让tomcat以gb2312输出,这样就不会有问题了。

如果tomcat没配置好,servlet中怎么改都没用!

这可是经验之谈啊。

快给分啦。
hykwolf 2003-12-22
  • 打赏
  • 举报
回复
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("中国画");//不是中文就没救了;
out.println(request.getParameter("param"));//不是中文正常
下面那个问题是你request.getParameter()的问题,要做编码转换byte[] tmpbyte= str.getBytes("ISO8859_1");
String newstr = new String (tmpbyte);
out.println(newstr)就ok了,前提:response.setContentType("text/html;charset=GBK")

81,092

社区成员

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

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