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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中如果字符串被改变了编码格式,该怎么样将它还原回来呢?相关的知识,希望对你有一定的参考价值。

例如:
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,所以想在方法中能把它再转码回来。

在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更有针对性
参考技术A UTF-8 在装换成 gb2312 的是,信息已经丢失了,不可能在正常的转换回去的
只能通过设置正确的编码方式来 获取 正确的文件内容本回答被提问者和网友采纳
参考技术B notepad 粘贴出来改编码
editplus 貌似也行...............
参考技术C 有个叫什么encoding的方法。你查查API吧具体忘记了 参考技术D 你是用的eclipse吗 ,实在不行就完全卸载了重新再装吧

以上是关于在JAVA中如果字符串被改变了编码格式,该怎么样将它还原回来呢?的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么获得文件编码格式

用java的流复制文件,并改变编码格式,由ansi改为utf-8格式

记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么回事啊??

java 怎么判断文本内容的编码格式

mysql dos窗口中该编码格式怎么改

java怎么查看一段中文是啥编码格式