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) {
展开
 我来答
千锋教育
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
堵寄灵kO
2015-04-27 · TA获得超过2370个赞
知道小有建树答主
回答量:588
采纳率:100%
帮助的人:472万
展开全部
在serlvet中加入这两行代码,放到最前面
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
更多追问追答
追问
不行啊,我放在dopost方法最前面,还是乱码。
追答
放在dopost方法里面最前面,表单提交方法设为post
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式