form类型为multipart/form-data的乱码问题

superdcy 2004-09-21 01:33:32
在action中
......
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
.....

action中调用getData方法获取表单数据,可是中文都是乱码,而且同一台服务器,数据库为orale则没有问题,换db2就是乱码.试过iso8859_1转码也不行,直接对request.setCharacterEncoding("gb2312");也不行.
/**
* getData
* 取得表单传递来的数据,包括基本信息、上载的图片、压缩文件及其名称
* @param HttpServletRequest Request
* @param HttpServletResponse Response
* @throws Exception
* @return
*/
private void getData(
HttpServletRequest Request,
HttpServletResponse Response) throws Exception {

try {
//检查输入请求是否为multipart的表单数据
boolean isMultipart = FileUpload.isMultipartContent(Request);
if (isMultipart) {
DiskFileUpload upload = new DiskFileUpload();
List items = null;
try {

//为该请求创建一个句柄,通过它来解析请求
items = upload.parseRequest(Request);
}
catch (FileUploadException fue) {
......
}
Iterator iterator = items.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
//检查当前的项目是普通的表单元素,还是一个上载的文件
if (item.isFormField()) {
//获得表单域的名字
String fieldName = item.getFieldName();
if (fieldName.equals("themeFloder")) {
themeFloder = item.getString();
}
if (fieldName.equals("themename")) {
themename = item.getString();
}
if (fieldName.equals("themeSpec")) {
themeSpec = item.getString();

}
}

......
...全文
1100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
JOBLin 2004-09-29
  • 打赏
  • 举报
回复
请问一个JSP页面有80个字段要插入到ORACLE数据库,插入的时候不能用“+”号,用什么方式实现比较好/?
superdcy 2004-09-29
  • 打赏
  • 举报
回复
自己解决了,分不能不给吗?
「已注销」 2004-09-29
  • 打赏
  • 举报
回复
帮搂住顶~~~~~~~~~~~~~~~~~
帮搂住顶~~~~~~~~~~~~~~~~~
帮搂住顶~~~~~~~~~~~~~~~~~
「已注销」 2004-09-29
  • 打赏
  • 举报
回复
帮搂住顶~~~~~~~~~~~~~~~~~
superdcy 2004-09-21
  • 打赏
  • 举报
回复
两个数据库服务器不是同一台机器,也许和这个有关吧.因为item.getString()取出的字符串马上打到后台显示的还是中文,大家快帮忙,急,在线等.
superdcy 2004-09-21
  • 打赏
  • 举报
回复
jsp页面里原本就有<%@ page contentType="text/html; charset=gb2312"%>
alaal 2004-09-21
  • 打赏
  • 举报
回复
用multipart/form-data设置根本就没有用
gjd111686 2004-09-21
  • 打赏
  • 举报
回复
Form表单页加<%@ page contentType="text/html; charset=gb2312"%>试一下.

一般乱码问题是数据库与页面设定的字符集不匹配导致.检查DB2字符集与页面设定一致就没有问题了.

81,090

社区成员

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

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