橙光游戏乱码重新浏览器上传图片乱码的话编辑们会重新审核吗???

暂时没有公告
JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
作者:fbysss
声明:本文为fbysss原创,如需引用,请注明作者及引用地址
关键字:smartupload,uploadbean,linux,中文乱码
一、SmartUpload上传文件乱码解决纪实
恶心指数:五星
完成程度:80%(文件名问题未解决)
问题描述:在下的web应用,用到了smartupload上传文件,很简单,就是一个表单文件formdata.jsp,一个获取表单并上传的文件getdata.jsp,调试的时候,windows和linux系统下均正常,当系统安装到另一台的时候,却出现了获取表单参数值为乱码(全是问号???)的问题。
我脑子里面第一感觉是:两台机器,据同事说是同一张光盘安装的,但我想,根据逻辑推断,肯定是这liux装得不一样,或者是相关的服务不一样。否则怎么可能呢?然而,上头任务交给我来解决了,而且系统马上要正式使用,如果我要求重新安装Linux,几乎是不可能的。那好,我不入地狱,谁入地狱?我就闯它一把。
其实在这个时候,我还认为问题不大的。因为java开发的东西,乱码问题是家常便饭,而解决办法也就是那几种。不就一个转码吗?当时头儿问我问题大不大,我说,应该没啥大问题。
我开始进行getByte()转码,用ISO-8859-1 与gb312/GBK”互相转换,未果,又加入UTF-8,不行;
又在&%@ page contentType=&text/charset=gb2312&&进行编码替换,不行;
修改linux LANG=zh_CN.GB2312,不行;
修改web.xml的charset,不行;
此时我几乎已经查遍了所有有关的网页,而且找到这问题和smartupload有关。但解决的人寥寥无几,而且解决的办法也很不详细,于是在csdn上发帖,结果半天没人理会,顶都没人顶。再上开发群上问,大家都忙,也无暇顾及。继续自己调试,用System.getProperty(“file.encoding”)得到的结果是ANSI_X3.4-1968,这是个什么码?上google查了一下,全是些无用信息,此时我心里不禁有些发冷。。。NND,问题有些严重。。
当天到下班,我是没啥结果,已经头昏脑胀,不想加班了,但花大半天时间还没搞定这么一个“小问题”,实在是有些没面子,于是我向头儿保证,明天我一定解决。
回到屋里,茶不思饭不香。上QQ看看,跟一MM聊了几句,我说今天好累,她说我明天可以好好休息一下。啊?明天星期几?我一核实,靠,明天周六啊!看来老天注定要我周末加班了。
晚上没睡好,起来又是一顿查,还是没啥好办法。
第二天,11点才起床,起来煮碗面条就开始干,把那些编码用new String(str.getByte(“iso-8859-1“),“gbk“)这样的形式进行了若干中组合,不行,怎么办,看到有一个改smartupload源码的解决办法,我是很不想改源码的,因为服务器在远程,我没有root帐号,修改了类无法重启。
进展一:把formdata.jsp中&%@ page contentType=&text/charset=gb2312&&,取掉,加上&meta http-equiv=&Content-Type& content=&text/ charset=gb2312&&,获取页面转码后能够正常显示中文。但是,大家都知道,这样做的后果是什么,formdta.jsp无法显示中文!这个问题更难做了,而且用response.setContentType居然对页面没有任何作用,真邪门了。
时间一点点过去,我终于动摇了,我开始试着去记忆root的密码,试了一下,我靠居然是对的。OK,终于可以大展拳脚了。
然而,smartupload的源码,居然很不好找,搜了半天没有。只好反编译了。用gel反编译出来的结果跟别人说的还不一样,就凑合着改了一下,
找到SmartUpload.java中的
public void upload(),加一个参数String charsetName,
找到这句 String s11 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1);
修改为String s11 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1,charsetName);
编译后上传,重启再试,发现有了一点进展。
进展二:部分参数能够正确读取了!
这只是表单文本框传值可以了,可文件名依然是乱码,我又折腾了半天,实在不想再去弄那个smartupload的源码了,虽然代码不多,但是我这么弄也太花时间了。(注:我觉得改源码应该可以解决问题,只是没有改完,文件名那部分需要进行处理。有兴趣的可以试试)
这时自然想到了换其他的上传包,搜了一下,有人说javazoom的不错,搞一个下来再说,demo很简单,
测试之后发现,只要在接收页面getdata.jsp中转码就可以了。转码方式,可以是一个个参数单独转,也可以用一句话就可以:request.setCharacterEncoding(&GBK&);同时要配合
MultipartFormDataRequest(request,null,100*,MultipartFormDataRequest.COSPARSER,&GBK&);
这个uploadbean的做的非常体贴,居然提供一个ChineseUpload.jsp例子,其实主要就是上面两句话不同。
等我修改完,感觉差不多的时候,已经是深夜2点。想放松了,先睡再说。
周日,继续工作,发现一个新问题,uploadbean居然不能修改上传的文件名!这怎么行呢?是有一种变通方法,每个文件建立一个目录,然后放进去防止重名,但这有点恶心,而且直接进去的文件名还是乱码,这可咋整啊???
还好,我再次发现了UploadBean的优越性,我找到了一个帖子,说UploadBean1.5配合Filemover可以改名,于是又下了1.5和FileMover,FileMover中的例子也很详细简单。真是贴心。。。
修改,上传重启,一切OK!
后来,又发现系统的几个相关BUG,一鼓作气,全部解决。
这个“小问题”,居然花了我整整两天的时间,可谓令我恼怒!同时,也想到跟我同样痛苦的兄弟们,我能减轻一下你们的痛苦,我这两天就没白干!我现在的口号是:“放弃SmartUpload,全面使用UploadBean”。我还写了一个Demo,以帮助痛苦的兄弟们快速解决问题。
下面,我把我写的Demo和需要的资料链接都贴在这里,大家有什么问题可以在这里跟我交流。
二、UploadBean上传
满意指数:五星
完成程度:100%
1.表单页面sssformdata.jsp
&%@ page contentType=&text/charset=gb2312&
&title&fbysss UploadBean 示例&/title&
&!--meta http-equiv=&Content-Type& content=&text/ charset=iso-8859-1&--&
&!--meta http-equiv=&Content-Type& content=&text/ charset=gb2312&--&
name=&form1& METHOD=&POST& ACTION=&sssupload.jsp& ENCTYPE=&multipart/form-data&&
&input name=&title& type= &text& value=&中文字&&
&td class=&bodystyle&&附件&/td&
&td class=&bodystyle&& &input name=&attach& type=&FILE& id=&attach& size=&50& & &/td&
&input name=&ok& type= &submit& value=&提交&&
2.读取表单页面sssgetdata.jsp
//==========================================================================
//文件:UploadBean上传实例
//功能:解决中文乱码,完成文件上传,并提供上传改名解决方案
//作者:fbysss
//==========================================================================
&%@ page contentType=&text/charset=GBK& %&
&%@ page language=&java& import=&com.jspsmart.upload.*&%&
&%@ page import=&java.text.SimpleDateFormat&%&
&%@ page import=&java.io.File&%&
&%@ page import=&java.util.*&%&
&%@ page import=&javazoom.upload.*&%&
&%@ page import=&uploadutilities.FileMover&%&
&meta http-equiv=&Content-Type& content=&text/ charset=gb2312&&
request.setCharacterEncoding(&GBK&);//设置编码格式,就不用一个个转码了。
FileMover fileMover = new FileMover();//你也可以使用自带的实例中jsp:useBean的形式。
UploadBean upBean = new UploadBean();
MultipartFormDataRequest mrequest =
Hashtable files =
if (MultipartFormDataRequest.isMultipartFormData(request))
mrequest = new MultipartFormDataRequest(request,null,100*,MultipartFormDataRequest.COSPARSER,&GBK&);//注意这里也要设置编码参数
String sTt0 = mrequest.getParameter(&title&);
out.println(&&br&Title0是:&+sTt0+&&br&&);
String sTt1 = new String(sTt0.getBytes(&ISO-8859-1&),&GBK&);
out.println(&&br&Title1是:&+sTt1+&&br&&);
//这里用来测试title参数是否正确。调试的时候,加一句if (true)即可。
files = mrequest.getFiles();
//获取修改前的文件名
String sOldFileName =mrequest.getParameter(&oldfilename&);
out.println(&sOldFileName:&+sOldFileName);
String sWebRootPath = request.getRealPath(&/&);//得到你的web应用的根。
String sPath=sWebRootPath+&attach&;
int iFileCount = 0;
String sServerFileName=&&;
String sLocalFileName = &&;
//文件获取
if ( (files != null) || (!files.isEmpty()) ) {
iFileCount = files.size();
UploadFile file = (UploadFile) files.get(&attach&);
sLocalFileName=file.getFileName();
out.println(&sLocalFileName:&+sLocalFileName);
int ii= sLocalFileName.indexOf(&.&); //取文件名的后缀
String sExt = sLocalFileName.substring(ii,sLocalFileName.length());
//得到不重复的文件名
java.util.Date dt = new java.util.Date(System.currentTimeMillis());
SimpleDateFormat fmt = new SimpleDateFormat(&yyyyMMddHHmmssSSS&);
sServerFileName= fmt.format(dt);
sServerFileName =sServerFileName + sE
//如果不存在该目录,则新建一个
File dir =new File(sPath);
if (!dir.exists()){
dir.mkdirs();
upBean.setFolderstore(sPath);//设置要上传的目录
upBean.addUploadListener(fileMover);//增加filMover监听
fileMover.setNewfilename(sServerFileName);//设置服务器上的文件名
upBean.store(mrequest, &attach&);//上传
out.println(&file path is &+sPath+&/&+sServerFileName);
Demo注意事项:cos.jar,uploadbean.jar,filemover.jar这几个包必须有。
必备下载地址:
UploadBean1.5:/pub/simtelnet/winnt/java/uploadbean1_5.zip
FileMover1.3:http://www.javazoom.net/jzservlets/uploadbean/addons/filemover1.3.zip
参考下载地址:
ChinesUpload例子:http://www.javazoom.net/jzservlets/uploadbean/addons/ChineseUpload.zip
论坛精华帖
文章来源于
软件测试技术文章排行榜
软件测试技术分类最新内容
版权所有(C)
TestAge()|| All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室
技术支持和业务联系:.cn 电话:010-
 |  |  |  |  |  |  | 查看: 986|回复: 19
UID3207926阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
我只想说我忍着不去骂人。。
虽然好像没什么让我骂的人。。
我做了很久的游戏,嗯,第一次,全是乱码,哪位大神或者管管告诉我怎么办?
因为还到弦吧去宣传了……我深刻觉得自己欺骗了很多人的感情……
虽然我知道我自己也没做好,没做好测试。。
但是全是乱码我真的很难过你造么……
大神告诉我怎么调好好么?
或者告诉我怎么删除好么?
我换了电脑……文件在原来的电脑上,所以也才急急忙忙昨天晚上和今天早上做完,也测试了好几遍……
为毛会这样……
真心说……如果解决不了……感觉不会再爱了……
&神一样的连贴,跪求看版规&
UID3207926阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
表示坐等回复……
真心觉得很难再爱了……
验证码都欺负人……
总评分:&经验 -50&
UID3715657阅读权限10最后登录记录积分9贡献度0 VIP0 彩虹碎片6 经验9467 帖子精华0在线时间129 小时注册时间
剑士, 积分 9, 距离下一级还需 3 积分
贡献度0 彩虹碎片6 经验9467 帖子精华0在线时间129 小时注册时间
不要着急哦,假期期间时不时就会这样的啦,你再打包几次或者更新几百字然后再打包,要是还没用,就等明天再打包试试。
以后如果再遇到困难的话不要觉得焦躁不安,是事情总会解决的嘛~
总评分:&彩虹碎片 + 1&
UID1389478阅读权限10最后登录记录积分14贡献度0 VIP0 彩虹碎片25 经验13776 帖子精华0在线时间206 小时注册时间
骑士, 积分 14, 距离下一级还需 6 积分
贡献度0 彩虹碎片25 经验13776 帖子精华0在线时间206 小时注册时间
重新打包上传,多试几次。就可以了
UID377657阅读权限10最后登录记录积分37贡献度4 VIP0 彩虹碎片384 经验33138 帖子精华2在线时间795 小时注册时间
草鹿やちる
龙骑士, 积分 37, 距离下一级还需 8 积分
贡献度4 彩虹碎片384 经验33138 帖子精华2在线时间795 小时注册时间
乱码是比较常见的问题,你先检查一下云网盘里是否上传完毕,确认后修改一两个字后重新打包上传,多试几次,实在不行可以修改一下字体再打包上传,还是多是多试几次。
&&校园风UI发布
&&新手向教程
UID3531177QQ阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片1 经验1560 帖子精华0在线时间22 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片1 经验1560 帖子精华0在线时间22 小时注册时间
先重新启动,然后将工程里的几个符号或者几个字改变一下,重新上传。
【毕竟我就这样】
UID3207926阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
萌陌陌 发表于
不要着急哦,假期期间时不时就会这样的啦,你再打包几次或者更新几百字然后再打包,要是还没用,就等明天再 ...
可是我现在换了电脑……不然也不会这么急急忙忙地传上来。
我现在想死。。我觉得贴吧的亲们会拍死我。。
UID3538301阅读权限10最后登录记录积分26贡献度2 VIP0 彩虹碎片350 经验24259 帖子精华0在线时间375 小时注册时间
圣骑士, 积分 26, 距离下一级还需 4 积分
贡献度2 彩虹碎片350 经验24259 帖子精华0在线时间375 小时注册时间
墨伤丶 发表于
可是我现在换了电脑……不然也不会这么急急忙忙地传上来。
我现在想死。。我觉得贴吧的亲们会 ...
乱码这种事情常有的,贴吧的亲们也会理解你的
UID3207926阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
沁惊羽 发表于
重新打包上传,多试几次。就可以了
蟹蟹……但是不会以后都是这样吧?
我觉得我现在想死嗷嗷。
&打包上传时先点击【云网盘】,看一下游戏是否全部上传完毕。如果没有,请等上传完后再打包上传。
倘若着急的话,就退出重新登录再打包!&
UID3207926阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验2135 帖子精华0在线时间20 小时注册时间
陌上幻月 发表于
乱码是比较常见的问题,你先检查一下云网盘里是否上传完毕,确认后修改一两个字后重新打包上传,多试几次, ...
= =。话说游戏不在我现在的电脑上怎么破。
总评分:&经验 -50&
我会用橙光
成功地通过了新手区考场的考验
在店铺区开店并得到了官方认证的用户
你为迷茫中的人们指引了前进的方向。[你写出了优秀的游戏教程]
在论坛新手区累计得到50个认可答案查看: 2773|回复: 6
UID387533阅读权限10最后登录记录积分5贡献度0 VIP0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
士兵, 积分 5, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
本帖最后由 幻想中的鸡蛋 于
11:03 编辑
在电脑上看对话都是很正常的,但是传到网上之后,打开网页玩 全是看不懂的句子,怎么回事啊。‘
00:21 上传
自己电脑看就是很正常的。
着急求助 %&_&%&&先谢谢了!!!
UID387533阅读权限10最后登录记录积分5贡献度0 VIP0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
士兵, 积分 5, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
求帮助!!! 好想死的心情...
UID376367QQ阅读权限10最后登录记录积分3贡献度0 VIP0 彩虹碎片0 经验3363 帖子精华0在线时间62 小时注册时间
士兵, 积分 3, 距离下一级还需 4 积分
贡献度0 彩虹碎片0 经验3363 帖子精华0在线时间62 小时注册时间
重新打包即可。
总评分:&经验 + 50&
UID387533阅读权限10最后登录记录积分5贡献度0 VIP0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
士兵, 积分 5, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
啊洛洛洛纸 发表于
重新打包即可。
我打包了好几次 还是这样呢...还有什么办法吗&&哭死了
UID387533阅读权限10最后登录记录积分5贡献度0 VIP0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
士兵, 积分 5, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验5284 帖子精华0在线时间173 小时注册时间
啊洛洛洛纸 发表于
重新打包即可。
啊啊啊啊!!你回复我之后这次打包居然好了!!! QAQ&&谢谢 谢谢~~ 带来好运的说。
终于可以去睡觉了。。谢谢你晚安 =v=
UID2067444阅读权限10最后登录记录积分1贡献度0 VIP0 彩虹碎片0 经验1110 帖子精华0在线时间8 小时注册时间
新兵, 积分 1, 距离下一级还需 2 积分
贡献度0 彩虹碎片0 经验1110 帖子精华0在线时间8 小时注册时间
呜呜& &&&我也是& &乱码了&&呜呜。。呜呜。【狂哭啊】
UID2366700阅读权限10最后登录记录积分2贡献度0 VIP0 彩虹碎片0 经验1600 帖子精华0在线时间10 小时注册时间
新兵, 积分 2, 距离下一级还需 1 积分
贡献度0 彩虹碎片0 经验1600 帖子精华0在线时间10 小时注册时间
乱码除了重新打包还有其他办法吗??都打了5,6次了
总评分:&经验 -30&我在橙光游戏中下载了一个游戏,可是为什么文字是乱码的,我要怎么办_百度知道
我在橙光游戏中下载了一个游戏,可是为什么文字是乱码的,我要怎么办
那是作者上传时没有打包,所以才会乱码,你只需要等待作者打包就可以了,假如你等不及要玩的话,你就可以在下面评论,告诉作者乱码了,这样他会更快的调整。
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁橙光游戏上传_百度知道
橙光游戏上传
我做完了游戏准备上传,我先点最上面的
文件未上传或文件正上传,当前工程存在未上传但却已使用的文件,请等待文件上传完成后再次尝试打包。怎么办呐,我只是后来点击了游戏测试,看看我的游戏怎样。
后来我乱搞了几下好了,但是在我发布后玩自己的游戏时,这个游戏里的所有字都变成了看不懂的“外星文”!如:越 — t。我设置的是楷体啊!
提问者采纳
重新打包上传一次,再出现第一次的情况时你就点击查看云网盘,之后右击出现的东西选择全部重启,最后再上传就好
但是在我发布后玩自己的游戏时,这个游戏里的所有字都变成了看不懂的“外星文”!如:越 — t。我设置的是楷体啊!
我知道,所以说遇到这种有乱码的情况的时候重新打包上传就好
提问者评价
其他类似问题
135人觉得有用
按默认排序
其他1条回答
外星文的话需要重新打包一次就可以了,还有那不是外星文,是乱码
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 优酷上传快速审核 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信