jsp+servlet上传图片和文字时,中文乱码 10
数据库:sqlserver2005jsp编码为UTF-8commons-fileupload.jar和commons-io.jarDiskFileItemFactoryd...
数据库:sql server 2005
jsp编码为UTF-8
commons-fileupload.jar和commons-io.jar
DiskFileItemFactory dfif = new DiskFileItemFactory();
//以byte为单位设定文件使用多少内存量后,将文件存入临时存储
dfif.setSizeThreshold( 5 * 1024 * 1024);
//设定临时文件的存储路径
dfif.setRepository(new File("c:\temp"));
//创建一个ServletFileUpload类的对象
ServletFileUpload servletfileupload = new ServletFileUpload(dfif);
//设定最大允许上传50M的文件
servletfileupload.setSizeMax(50*1024*1024);
//使用ServletFileUpload类的parseRequest方法返回整个表单的所有FileItem项的列表
try {
List<FileItem> files = servletfileupload.parseRequest(request);
for(FileItem f:files){
if(f.isFormField()){ //如果该项是表单项,不是文件上传项
out.println(f.getFieldName());
out.println(f.getString("UTF-8")); //因为Web使用是的UTF-8编码,所以客户端返回的也是UTF-8的编码。
//获取表单普通数据
a[i]=f.getString();
System.out.println("getstring =="+i+a[i]);
i++;
}else{
String filename = f.getName();
filename = filename.substring(filename.lastIndexOf("."));
try {
int n=(int)(Math.random()*10000000);
f.write(new File("c:\\upfile\\"+ n + filename));
mString=n + filename;//图片名称加后缀
//
} catch (Exception e) { 展开
jsp编码为UTF-8
commons-fileupload.jar和commons-io.jar
DiskFileItemFactory dfif = new DiskFileItemFactory();
//以byte为单位设定文件使用多少内存量后,将文件存入临时存储
dfif.setSizeThreshold( 5 * 1024 * 1024);
//设定临时文件的存储路径
dfif.setRepository(new File("c:\temp"));
//创建一个ServletFileUpload类的对象
ServletFileUpload servletfileupload = new ServletFileUpload(dfif);
//设定最大允许上传50M的文件
servletfileupload.setSizeMax(50*1024*1024);
//使用ServletFileUpload类的parseRequest方法返回整个表单的所有FileItem项的列表
try {
List<FileItem> files = servletfileupload.parseRequest(request);
for(FileItem f:files){
if(f.isFormField()){ //如果该项是表单项,不是文件上传项
out.println(f.getFieldName());
out.println(f.getString("UTF-8")); //因为Web使用是的UTF-8编码,所以客户端返回的也是UTF-8的编码。
//获取表单普通数据
a[i]=f.getString();
System.out.println("getstring =="+i+a[i]);
i++;
}else{
String filename = f.getName();
filename = filename.substring(filename.lastIndexOf("."));
try {
int n=(int)(Math.random()*10000000);
f.write(new File("c:\\upfile\\"+ n + filename));
mString=n + filename;//图片名称加后缀
//
} catch (Exception e) { 展开
2个回答
2015-12-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
转码可以在页面中或是sevlet以及过滤都可以解决的,下面以页面和servlet为例:
方法一:设置 request 和 response 的编码 [ 页面编码必须为 u8 ]
request.setCharacterEncoding("UTF-8");//传值编码
response.setContentType("text/html;charset=UTF-8");//设置传输编码
方法二:
String str1=传来的数据。
String ss=new String(str1.getBytes("ISO-8859-1"),"utf-8"); //转码UTF8
方法一:设置 request 和 response 的编码 [ 页面编码必须为 u8 ]
request.setCharacterEncoding("UTF-8");//传值编码
response.setContentType("text/html;charset=UTF-8");//设置传输编码
方法二:
String str1=传来的数据。
String ss=new String(str1.getBytes("ISO-8859-1"),"utf-8"); //转码UTF8
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询