JspSmartUpload简介
jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。
中文乱码问题
上网查了下很多方法,但还是乱码。被中文乱码虐了一整天,最后才弄好了,写下博客记录下【第一次写博客,可能有许多问题,还请见谅!】。
一开始,我的数据库是用MySQL,UTF-8编码。用MyEclipse开发项目,用的也是UTF-8,修改了很多遍编码格式还是不行。
我的解决办法是将jsp页面的编码改为gb2312,就好了。
这里注意几点:
1、首先上传页面和接收页面都必须制定编码格式为gb2312;
<%@ page language=”java” import=”java.util.*” pageEncoding=”gb2312”%>
2、注意上传时表单要指定编码为:enctype=”multipart/form-data”
3、注意上传时表单要指定方法为:method=”post”
代码
上传文件upload.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script>
function ignoreSpaces(string) {
var temp = "";
string = '' + string;
splitstring = string.split(" ");
for (i = 0; i < splitstring.length; i++)
temp += splitstring[i];
return temp;
}
function isChinese(name) //中文值检测
{
if (name.length == 0)
return false;
for (i = 0; i < name.length; i++) {
if (name.charCodeAt(i) > 128)
return true;
}
return false;
}
//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a) {
var i = a.length;
var temp = a.indexOf('@');
var tempd = a.indexOf('.');
if (temp > 1) {
if ((i - temp) > 3) {
if ((i - tempd) > 0) {
return 1;
}
}
}
return 0;
}
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM) {
var i, j, strTemp;
strTemp = "0123456789";
if (NUM.length == 0)
return 0;
for (i = 0; i < NUM.length; i++) {
j = strTemp.indexOf(NUM.charAt(i));
if (j == -1) {
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}
function yan() {
if (frm.name.value == "") {
alert("姓名不得为空!");//弹出提示框
document.frm.name.focus(); //获取鼠标焦点
return false;//返回一个值
}
else if (!isChinese(frm.name.value)) {
alert("姓名只能为中文!");//弹出提示框
document.frm.name.focus(); //获取鼠标焦点