Eclipse中JSP的汉字编码问题

deoline 2010-10-29 07:01:40
弱弱的向各位大侠问一声,在Eclipse的window->preferences中可以将jsp file的encoding设置为GB2312吗?
因我先前设置的是UTF-8,很多情况总出现Request获取参数,或者Session对象获取参数时,如果参数为unicode双字节编码(如汉字),则获取的参数值显示为乱码?
拜读了耿详义老师的书,据他阐述,将jsp标识设为:Charset=GB2312,即可解决Request对象获取unicode双字节编码问题.
可在Eclipse中,我在window->preference中找不到可以设置为GB2312编码的方法.
求各位大侠指教,或者其他什么途径可以解决这个jsp中request获取参数汉字乱码问题.
...全文
471 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
chencsda 2010-11-27
  • 打赏
  • 举报
回复
我也是啊,eclipse的控制台输出的都是乱码 www.0755bst.net
muzipeng2008 2010-11-11
  • 打赏
  • 举报
回复
配置过滤器 最方便
woshi_bobo2010 2010-11-11
  • 打赏
  • 举报
回复
最简单的一招: String s =request.getAttribute("param");
s =new String(s.getBytes("ISO-88591"),"UTF-8");
shuaiyz 2010-11-02
  • 打赏
  • 举报
回复
在Web.xml里面配置过滤器可以吗
anqizhou 2010-11-02
  • 打赏
  • 举报
回复
学习一下了,真是不知道的太多了
salever 2010-10-31
  • 打赏
  • 举报
回复
汗。。。。。
jump0907 2010-10-31
  • 打赏
  • 举报
回复
我来学习的……
PerfectSuperman 2010-10-29
  • 打赏
  • 举报
回复
你把JSP页面代码设置成GBK,在Servlet里面转换代码就可以了!如:
//获得参数"word",然后再转换回来,word可以是中文!就算是网址传参也没问题!
String word= request.getParameter("word");
word = new String(word.getBytes("ISO-8859-1"));



给你看我的Servlet完整代码:
package com.fit.biz;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.fit.Item.TieZi;
import com.fit.dao.DaoFactory;
import com.fit.dao.intf.ForumInterface;
import com.fit.entity.User;
import com.fit.util.NextPageUtil;

public class Search extends HttpServlet{
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String pageIdStr = request.getParameter("pageId");
String word= request.getParameter("word");
word = new String(word.getBytes("ISO-8859-1"));
String choice= request.getParameter("choice");

ForumInterface dao = DaoFactory.createForumDao();
if("user".equals(choice)){
NextPageUtil<User> nextPageUser = dao.searchUserByWord("users", word, pageIdStr, "nickName", "user_id");
request.setAttribute("nextPageUser", nextPageUser);
} else if("message".equals(choice)){
NextPageUtil<TieZi> nextPageTieZi = dao.searchTieziByWord("messages", word, pageIdStr,"publishtime","message_id");
request.setAttribute("nextPageTieZi", nextPageTieZi);
}
request.setAttribute("word", word);
request.setAttribute("choice", choice);
request.getRequestDispatcher("search.jsp").forward(request, response);
}
}


wzjmjx 2010-10-29
  • 打赏
  • 举报
回复
utf-8是最功能的了
萝asdf 2010-10-29
  • 打赏
  • 举报
回复
楼上好像说的不对啊,iso-8859-1支持中文吗?好像不吧!
http底层默认好像是iso-8859-1来传输的,这个偶没验证过。
你的请求要看是get还是post的,get的编码在服务器端也要一致,post只用在客户端一致就好。
个别时候不明原因的乱码,就只有转码了;不知道从什么字符集转成什么字符集,就全部都写下,打印出来,呵呵,看到哪个对,就用那个!
推荐使用的字符集,utf-8,gbk,gb2312
北漂的可乐 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 deoline 的回复:]
我明白是文件编码啊,因为你在程序解码时使用
byte c[] = string.getBytes("ISO-8859-1"),这个"ISO-8859-1"就是对GB2312解码,如果你的文件编码为UTF-8,岂不和你所使用的内置对象request,response等编码和解码方式不同? 我就是想在Eclipse中将JSP file的编码也变成GB2312,这样就一致了啊.
[/Quote]
这个说的对啊。一般来说用gbk或者ISO-8859-1都是支持中文的,主要是为了支持中文的文字。
aa870816 2010-10-29
  • 打赏
  • 举报
回复
顶楼上~!~
Achilles_Dynasty 2010-10-29
  • 打赏
  • 举报
回复
文件编码用utf-8或是默认的GBK就好了。
jsp中request获取参数汉字乱码问题
只要传参和接受参数之前都设置一下编码就可以了。
deoline 2010-10-29
  • 打赏
  • 举报
回复
我明白是文件编码啊,因为你在程序解码时使用
byte c[] = string.getBytes("ISO-8859-1"),这个"ISO-8859-1"就是对GB2312解码,如果你的文件编码为UTF-8,岂不和你所使用的内置对象request,response等编码和解码方式不同? 我就是想在Eclipse中将JSP file的编码也变成GB2312,这样就一致了啊.
salever 2010-10-29
  • 打赏
  • 举报
回复
昏死,jsp file编码指的是文件编辑时候使用的编码,而不是你在编程中参数编码

request参数的编码要再行设置的啊,这个是自己google吧
deoline 2010-10-29
  • 打赏
  • 举报
回复
哎,我使用的是UTF-8编码方式,在request和response之前都使用了request.setCharacterEncoding("UTF-8"),但感觉好像时灵时不灵,把我整郁闷了.也不知道还有没有更好的解决方案.这时灵时不灵,让我不放心啊.用的是心惊胆颤.
JSP程序设计从入门到精通》电子书   第1篇 入门篇 7   第1章 Jsp概述 技术分析 7    1.1 Jsp简介与历史背景 7    1.1.1 日新月异的Web技术 7    1.1.2 什么是JSP 8    1.1.3 JSP技术有以下几个显著的优点 9    1.1.4 JSP和其他类似或相关技术的一个简单比较 10    1.2 JSP环境安装配置 12    1.2.1Tomcat下JSP环境的配置 12    1.2.1建立自己的Jsp工作目录 13    1.3 JSP语法介绍 14    1.3.1 JSP页面的元素 14    1.3.2 JSP语法概要 15    1.3.3关于模板文本(静态HTML) 16    1.4 运行第一个Jsp程序 16    1. 5本章小结 20   第2章Jsp 基础学习 20    2.1 JSP基本语法 20    2.1.1 JSP 语法之声明 21    2.1.2 JSP 语法之表达式 21    2.1.3 JSP 语法之Scriptlet 21    2.2 JSP的指令 22    2.2.1 page指令(Directive) 22    2.2.2 include指令(Directive) 24    2.3 JSP的动作 25    2.3.1 jsp:include动作 25    2.3.2 jsp:useBean动作 27    2.3.3 jsp:setProperty动作 29    2.3.4 jsp:getProperty动作 30    2.3.5 jsp: forward动作 31    2.3.6 jsp: plugin动作 31    2.3.7注释 31    2.4 JSP 9种基本内置组件 31    2.5 JSPSession的使用 34    2.6 JSPforward的使用 36    2.7 JSP运行时错误处理与应该注意的六个常见问题 37    2.8 JSP小实例 38    2.8.1实例1(在JSP定义函数) 38    2.8.2实例2(获取各种CGI环境变量) 39    2.8.3实例3(JSP里request变量列表) 42    2. 9本章小结 44   第3章JavaBean组件 44    3.1 什么是JavaBeans 45    3.1.1 JavaBeans 简介 45    3.1.2 JavaBeans 属性 45    3.1.3 JavaBeans 的事件 50    3.2 在Jsp使用JavaBeans 55    3.3 JavaBeans的scope属性 57    3.4 JavaBeans应用实例 59    3.4.1 实例1(HelloWord.java) 59    3.4.2 实例2(People.java) 60    3.4.3实例子3数组应用 (Example2_3.java) 60    3.4.4实例子4运算符、表达式应用 (Example3_1.java) 61    3.5 本章小结 62   第4章Jsp与Servlet 62    4.1 什么是Servlets 63    4.1.1 JavaServlet的解释 63    4.1.2 什么是Jsp 65    4.1.3 得到一个Servlets和JSP的运行环境 66    4.1.4 实现第一个JSP和SERVELT 67    4.2 Servlet规范定义的Servlet 生命周期 70    4.3 JSP/Servlet的重定向技术综述 72    4.3.1 RequestDispatcher.forward() 72    4.3.2 response.sendRedirect() 73    4.4 理解会话 74    4.4.1 会话状态跟踪API 75    4.4.2 在会话对象保存数据 76    4.4.3实例:显示会话信息 76    4.5 用Java Servlets代替CGI 78    4.6 JSP/Servlet 汉字编码问题 80    4.7 图解Eclipse+Tomcat集成开发Servlet 84    4.8 Servlets/JSP开发技术问答 93    4.9 Servlet小实例 97    4.5.1实例1(输出) 98    4.5.2实例2(获取表单参数) 99    4.5.3实例3(获取jsp各种参数) 101    4.1
深圳电信培训心 徐海蛟博士教学用myeclipse 10 最新文包eclipse Babel 3.7版本, 下载压缩文件之后,安装文包仅需要1分钟即可看到久违的汉字。 本文档提供2013年最新的文包, 与myeclipse 10一一对应。并在文档内详细说明了如何采纳最简单的方法实现汉化。1分钟即可。 myeclipse是在eclipse上的扩展与封装。例如:myeclipse 10是在eclipse 3.7版(Indigo)基础上进行的扩展与封装!版本是一一对应的! 不同版本的myeclipse使用不同版本的eclipseEclipse Kepler(4.3版/2013) myeclipse2013 eclipse4.3 Eclipse Juno (3.8&4.2版) myeclipse11 eclipse3.8&4.2 Eclipse Indigo (3.7版) myeclipse10 eclipse3.7 √√下载 Eclipse Helios (3.6版) myeclipse9 eclipse3.6 Eclipse Galileo (3.5版) myeclipse8 eclipse3.5 Eclipse Ganymede (3.4版) myeclipse7 eclipse3.4 Eclipse Europa (3.3版) myeclipse6 eclipse3.3 如上所见,myeclipse 10对应eclipse3.7(别称:Indigo - 靛蓝色),那么其对应的文包也不同。当然,很多时候,文包混用也没关系。 最新版 myeclipse 2013对应于eclipse4.3(别称:Kepler)。 PS: 老外文人的别称很有意思,Kepler - 开普勒, 大名鼎鼎的德国物理学家,开普勒定律的发现者,还记得否? myeclipse 10与老版本 myeclipse 6 文化还是有点区别的,文档内也说明了! 通常有三种方式安装babel文包。任何一种皆可以。 1. 下载文包,然后解压缩到eclipse的目录(最简单 1分钟)!! 2. 通过link文件将文包放在独立的目录。 3. 通过eclipse自带的升级工具安装。 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。 它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。 MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

58,454

社区成员

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

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