【java】乱码处理+编码转化

之前有一篇是修改IDE的编码,服务器的编码等处理乱码,但是在所有环境因素上,保证了编码方式之后,也会有前台传递给后台【get方式提交】传递给后台的编码方式是非UTF-8的,也会有例如FTP服务器的编码方式是非UTF-8的,所以需要在程序中代码进行编码方式的转码。

1.第一种方式【java.net.URLDecoder】

String condition = URLDecoder.decode(condition, "utf-8");

2.第二种方式

String filePath = new String(filePath.getBytes("UTF-8"),"iso-8859-1");

3.第三种方式【java.net.URLEncoder】

String fileName = URLEncoder.encode(fileName, "utf-8");

在合适的地方运用合适的编码转码,就能得到良好的效果!

时间: 2024-10-29 22:16:52

【java】乱码处理+编码转化的相关文章

再再谈java乱码:GBK和UTF-8互转尾部乱码问题分析(续)

GBK字节码用UTF-8解码 UTF-8 的编码规则 转码实例 解决问题 jdk 18 测试 jdk 1617 jdk 版本的影响 小结 参考 在<再谈java乱码:GBK和UTF-8互转尾部乱码问题分析>我们分析了,如果从一个UTF-8 的字节序列,经过 new String(b,"GBK") 的操作,"可能"(与总字节数有关)会破坏数据.结果可能是,损失最后一个"字". 反过来呢?可能会很惨,大范围溃散... 同时,可参考:一段j

(透彻)java String.getBytes()编码问题

String.getBytes()的问题 String 的getBytes()方法是得到一个字串的字节数组,这是众所周知的.但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数组.如果你在使 用这个方法时不考虑到这一点,你会发现在一个平台上运行良好的系统,放到另外一台机器后会产生意想不到的问题.比如下面的程序: class TestCharset {  public static void main(String[] args) {  new TestCharset().execute

eclipse java maven-Eclipse中Java代码的编码问题

问题描述 Eclipse中Java代码的编码问题 Eclipse中使用Maven项目,项目中Java文件不能复制代码,即使可以复制传到另一个电脑乱码,求大神帮忙?用记事本,EditPlus打开也是乱码,传给别人也是乱码,粘贴不了代码,只能在自己Eclipse中打开项目,现在都不敢用git提交,该如何解决. 解决方案 找到首选项,常规,看一下你的工作组空间的代码编码配置有没有问题 解决方案二: 先使用浏览器,看看本身的编码格式.再来寻找解决方案 解决方案三: Eclipse中编码首选项,工作空间没

JAVA判断文件编码类型

[本文转载于JAVA判断文件编码类型] java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码.有时需要将UTF-8的改为ANSI的编码.以下代码就可以判断文件是什么编码方式. 主要jar包:cpdetector.jar  下载地址http://cpdetector.sourceforge.net/  同时还需jchardet-1.0.jar这个包,否则detector.add(cpdetector.io.JChardetFacade.getInstance());  会报错: 下载

字符编码转化问题急需解决

问题描述 字符编码转化问题急需解决 AGwAaQBuAGeAdABl 说是:unicode的base64编码,说编码内容是:lingtu 但是我将 lingtu 写成unicoebase64为 bGluZ3R1 有人说是:还要进行大小端转化,但是这个怎么转化我不懂

java实现文件编码监测(转)

 chardet是mozilla自动字符集探测算法代码的java移植.这个算法的最初作者是frank Tang,C++源代码在http://lxr.mozilla.org/mozilla/source/intl/chardet/,可以从http://www.mozilla.org/projects/intl/chardet.html 得到更多关于这个算法的信息.   java实现文件编码监测 最近在做一个文档的翻译项目,可文档的编码不知道,听头疼的.尝试了很多方法最后发现JCharDet这个工具

代码-JAVA首字母大小写转化

问题描述 JAVA首字母大小写转化 题目要求 比如 This is a program. 要转换成 This Is A Program. 而我的只能是 This is a program String first=str.substring(0,1).toUpperCase(); String rest=str.substring(1,str.length()).toLowerCase(); String newstr=new StringBuffer(first).append(rest).t

乱码request编码集问题

问题描述 乱码request编码集问题 为什么我的request的编码集在servlet的本类其他方法中就失效了? 解决方案 request乱码问题解解request乱码问题request中文乱码问题 解决方案二: 在过滤器中添加编码设置. http://blog.csdn.net/lovesummerforever/article/details/9924413

有没有做过Java的UTF-8编码转GBK的方法,高分求

问题描述 有没有做过Java的UTF-8编码转GBK?我遇到一个问题要将UTF-8编码转GBK.在网上一直没有找到,找来找去只找到一个GBK2utf-8方法.大家有没有人写过,请赐教.谢谢高分谢谢首先说下newString(tmp.getBytes("ISO-8859-1"),"UTF-8")或者newString(tmp.getBytes("ISO-8859-1"),"GBK")newString(tmp.getBytes(