在JAVA中如果字符串被改变了编码格式,该怎么样将它还原回来呢?

例如:StringfileName="你好.xls";Stringnewname=newString(fileName.getBytes("UTF-8"),"gb2312... 例如:
String fileName = "你好.xls";
String newname = new String(fileName.getBytes("UTF-8"),"gb2312");
得到的newname = "浣�ソ.xls";
怎样将乱码的newname还原成原来的字符串呢?
这个是struts2文件上传乱码问题,我不想去改配置文件,取得的文件名乱码能否在action方法中恢复正常,要是不行再考虑编码统一问题。
PS:页面是utf-8,后台是gbk的,取得的乱码和上面转码后的结果一样
能不要说些废话么,我只想知道java有没有能把改了编码格式的字符串再改回来,我确定字符串由utf-8转码成了gb2312,所以想在方法中能把它再转码回来。
展开
 我来答
郭衿玉
2013-03-20 · TA获得超过203个赞
知道答主
回答量:94
采纳率:0%
帮助的人:37.6万
展开全部
在myeclipse里面修改:你要修改的文件(夹)→右键→properties→Text file encoding→other→选择你要的字符集就可以了。或者剪切出来粘贴到普通文本中然再粘贴回去也可能会好

你去看看这个问题吧,那都是struts设置你的字符集http://zhidao.baidu.com/question/441516106.html

如果是servlet简单了
request.setCharacterEncoding("gb2312");//请求字符集
response.setContentType("text/html;charset=gb2312");//响应字符集
或者你自己百度搜索设置Struts更有针对性
flylovepink
推荐于2018-05-12 · TA获得超过498个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:398万
展开全部
UTF-8 在装换成 gb2312 的是,信息已经丢失了,不可能在正常的转换回去的
只能通过设置正确的编码方式来 获取 正确的文件内容
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天海行者
2013-03-20 · TA获得超过105个赞
知道答主
回答量:208
采纳率:0%
帮助的人:86.7万
展开全部
notepad 粘贴出来改编码
editplus 貌似也行...............
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
846564997
2013-03-20 · TA获得超过661个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:111万
展开全部
有个叫什么encoding的方法。你查查API吧具体忘记了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L6669T
2013-03-20
知道答主
回答量:25
采纳率:100%
帮助的人:16.7万
展开全部
你是用的eclipse吗 ,实在不行就完全卸载了重新再装吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式