精华内容
下载资源
问答
  • java 字符串乱码怎么解决

    万次阅读 2018-10-18 16:20:45
    1.重新给字符串编码再解码 name = URLEncoder.encode(name, "ISO-8859-1");  name = URLDecoder.decode(name, "UTF-8"); 2.设置编码 name=new String(name.getBytes(),"UTF-8"); ...

    我尝试了所有的设置编码的方法:

    1.重新给字符串编码再解码

    name = URLEncoder.encode(name, "ISO-8859-1");
     name = URLDecoder.decode(name, "UTF-8");

    2.设置编码

    name=new String(name.getBytes(),"UTF-8");

    3.设置编码

     //利用getBytes将unicode字符串转成UTF-8格式的字节数组

     String name=request.getParameter("name");
      byte[] utf8Bytes = name.getBytes("utf-8");
    //然后用utf-8 对这个字节数组解码成新的字符串
      name = new String(utf8Bytes, "utf-8");

    4.在sevlet里面或者有参数通过页面跳转传递过来

     request.setCharacterEncoding("utf-8");

    平时这个问题根本难不住我,关键这一次是jsp传值到嵌有java代码的jsp页面中,比较复杂

    我试了上面的方法都没有用;

    最后用了

     控制台第一行显示吴成贵 (用的是name = new String (name.getBytes("ISO8859-1"),"UTF-8");)

    后面的是用了

    <%
        //1.获得要查询的手环编号
           request.setCharacterEncoding("utf-8");
           String name=request.getParameter("name");

    虽然别人说用 name = new String (name.getBytes("ISO-8859-1"),"UTF-8");是不正规的,但是实用啊!

     

    展开全文
  • java字符串乱码处理

    2020-04-26 15:23:21
    直接上代码了! package ... import java.io.UnsupportedEncodingException; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; ...

    直接上代码了! 

    package com.yt.eos.common.utils;
    
    import java.io.UnsupportedEncodingException;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import org.apache.commons.lang.StringUtils;
    
    /**
     * 乱码处理类
     * @author tyg
     * @date   2020年4月26日下午2:27:51
     */
    public class MessyCodeUtil {
    
    	public static void main(String[] args) throws UnsupportedEncodingException {
    		System.out.println(decodeMessyCode("tyg"));
    		System.out.println(decodeMessyCode("123"));
    		System.out.println(decodeMessyCode("中国加油!"));
    		System.out.println(decodeMessyCode("。。..&……%¥¥%"));
    		System.out.println(decodeMessyCode("ç§äº"));
    	}
    	
    	/**
    	 * 解码
    	 * 1、如果是乱码则解码后返回
    	 * 2、如果不是乱码则直接返回
    	 * 注:不是所有乱码都适用,只适用于IOS-8859-1编码的乱码
    	 * @param str
    	 * @return
    	 * @throws UnsupportedEncodingException
    	 * @author tyg
    	 * @date   2020年4月26日下午2:21:07
    	 */
    	public static String decodeMessyCode(String str) throws UnsupportedEncodingException {
    		if(StringUtils.isBlank(str)) {
    			return str;
    		}
    		boolean isMessyCode = isMessyCode(str);
    		if (isMessyCode) {
    			return new String(str.getBytes("ISO-8859-1"), "UTF-8");
    		}
    		return str;
    	}
    	
        /**
         * 验证是否乱码
         * @param str
         * @return	true:乱码,false:不是乱码
         * @author tyg
         * @date   2020年4月26日下午2:18:26
         */
    	public static boolean isMessyCode(String str) {
    		if(StringUtils.isBlank(str)) {
    			return false;
    		}
    		Pattern p = Pattern.compile("\\s*|t*|r*|n*");
            Matcher m = p.matcher(str);
            String after = m.replaceAll("");
            String temp = after.replaceAll("\\p{P}", "");
            char[] ch = temp.trim().toCharArray();
            float chLength = ch.length;
            float count = 0;
            for (int i = 0; i < ch.length; i++) {
                char c = ch[i];
                if (!Character.isLetterOrDigit(c)) {
                    if (!isChinese(c)) {
                        count = count + 1;
                    }
                }
            }
            float result = count / chLength;
            if (result > 0.4) {
                return true;
            }
            return false;
    	}
    	
    	/**
    	 * 判断字符是否是中文
    	 * @param c	字符
    	 * @return	是否是中文
    	 * @author tyg
    	 * @date   2020年4月26日下午2:19:41
    	 */
        public static boolean isChinese(char c) {
            Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
            if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
                return true;
            }
            return false;
        }
    }
    

     

    展开全文
  • 本文通过实例代码给大家介绍了Java判断字符串是否含有乱码的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
  • Java 字符串乱码问题解决

    千次阅读 2018-12-13 00:34:53
    乱码字符串进行转码 String decodeStr=null;  decodeStr = URLDecoder.decode(url, "utf-8");

    将乱码的字符串进行转码

    String decodeStr=null;
                decodeStr = URLDecoder.decode(url, "utf-8");

    展开全文
  • java 字符串中文乱码解决合集

    万次阅读 2018-12-28 17:22:48
    可以肯定的说出现了中文乱码这种问题,基本上都是因为字符的编码、解码的格式不同。 常见的编码格式 ASCII、ISO-8859-1、GB2312、GBK、UTF-8(推荐)、UTF-16 Question 1 文档乱码 eclipse 编辑页面出现中文乱码...

    可以肯定的说出现了中文乱码这种问题,基本上都是因为字符的编码、解码的格式不同。

    常见的编码格式 ASCII、ISO-8859-1、GB2312、GBK、UTF-8(推荐)、UTF-16

    Question 1 文档乱码

    eclipse 编辑页面出现中文乱码,诺,就是下面这种,一般来说eclipse是默认GBK编码的,当有时候我们导入了UTF-8编码的工程就容易出现这种情况。

    通常我们最好在刚安装好eclipse的时候就统一设置为UTF-8。不然项目文件有的是GBK有的是UTF-8就难受了。格式不统一,难受。

    eclipse 设置编码格式

    window > preferences > general > WorkSpace 

    window > preferences > general > Content Types

    工程文件夹下

    右键 >properties > resource 

    上述的操作只会对新增的文件有效。并不会解决我们的乱码问题。

    这种text文档出现乱码,很难搞,而且很容易发生不可逆的变化,如果需重新设置编码的时候最好备份。

    当然还有一个补救措施,在单个文件下

    右键 >properties > resource  

    这个操作会改变当前文件的解码方式。如果没有对应格式可以手动添加。

    当然,有些时候也是然并软

    效果如下:

    各IDE设置应该都差不多,安卓studio还会自动检测,看着点就行了,就eclipse坑。

    Question 2 网页乱码

      ......我都对这种乱码没印象了

    设置为一样的就完事了,当然前提是这种编码格式支持中文,不然照样还是会有中文乱码。

    还有servelt中。。。

    response.setCharacterEncoding("utf-8");
    request.setCharacterEncoding("utf-8");
    response.setContentType("application/json; charset=utf-8");

    Question 3 流乱码

    java IO流要是出现乱码基本也是编码、解码格式设置不统一的问题,基本上我们加上一层格式设置就ok了

    new String(s1.getBytes("编码格式"), "解码格式");

    如果自己没有设置的话,采用的就是默认设置,所以要想不会出现乱码,自己最好加上一层统一格式设置。

    package J;
    
    import java.io.UnsupportedEncodingException;
    import java.nio.charset.Charset;
    
    public class Test {
    	//ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16
    	public static String ENCODING_UTF8 = "UTF-8";
    	public static String ENCODING_GBK = "GBK";
    	public static String ENCODING_GB2312 = "GB2312";
    
    	public static void main(String[] args) throws UnsupportedEncodingException {
    		// TODO Auto-generated method stub
    		//
    		System.out.println("默认的编码格式" + Charset.defaultCharset());
    		testOne();
    
    	}
    
    	public static void testOne() throws UnsupportedEncodingException {
    		String s1, s2, s3, s4;
    		s1 = "你好 hello world";
    		s2 = new String(s1.getBytes(ENCODING_GB2312), ENCODING_GB2312);
    		s3 = new String(s1.getBytes(ENCODING_UTF8), ENCODING_UTF8);
    		s4 = new String(s1.getBytes(ENCODING_GBK), ENCODING_GBK);
    
    		System.out.println("s1:" + s1);
    		System.out.println("s2:" + s2);
    		System.out.println("s3:" + s3);
    		System.out.println("s4:" + s4);
    	}
    
    }
    

     

    展开全文
  • 我在idea运行我以前写的代码时发现在utf-8编码下运行打印出了乱码,如图: 这是代码位置: 错误原因 是由项目编码和全局编码格式不匹配导致 解决方案 左上角点击File->Editor->File Encodings 把Global ...
  • <%@ page pageEncoding="utf-8" contentType="text/... charset=ISO-8859-1"%>//ISO-8859-1 网页信息 导致乱码 <% response.setCharacterEncoding("utf-8"); //修正 可以正确显示 %> <html> ...
  • #学习Java对象转json字符串的基本代码 @Controller public class UserController { @RequestMapping("/json1") @ResponseBody public String json1() throws JsonProcessingException { //创建Json对象 ...
  • java 判断字符串是否乱码

    千次阅读 2019-04-02 12:30:26
    写过后台的童鞋都知道,java乱码是多么的让人无语 public static String isoToUTF(String string) throws Exception { //判断是否为空 if (!isNull(string)) { //判断是乱码 (GBK包含全部中文字符;UTF-8则包含...
  • 解决 VS Code输出字符串乱码问题

    千次阅读 2020-05-28 11:31:50
    在注册表中增加一个字符串值就可以固定cmd的编码格式了。 win+r键 调出 在注册表中找到目录:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 增加一个字符串值autorun.
  • java字符串转unicode

    2018-08-01 09:58:04
    这里提供一个能转换十进制和十六进制unicode的java的util类,我们经常会遇到乱码问题,比如在后端与前端交互的时候,由于框架的种种原因,导致乱码,这时候就用到了unicode(万能码),在乱码前转为unicode,就可以...
  • 1.打开file->settings… 2.找到 File Encondings,点击,按如下图中设置 一共设置四处位置
  • 项目基于WebSocket实现了一个功能,其中要接受一个字符串来处理业务,但是发现该字符串经过base64解码之后存在乱码情况。一下是排查情况。 乱码: {"message":"鐧诲綍鎴愬姛"} 正常: {"message":"登录成功"} ...
  • 一、问题背景。 我们消费activityMQ消息。解析内容出现了乱码。用的是org.fusesource....我们是直接转为字符串的形式String msg = new String(message.getPayload());来解析。再转化为JSONObject数据。 打印出来...
  • // 转化十六进制编码为字符串 public static String toStringHex2(String s) { byte[] baKeyword = new byte[s.length() / 2]; for (int i = 0; i &lt; baKeyword.length; i++) { try { ...
  • 由于是业务的原因,有一个byte数组如下图所示,因为数据库用的是mysql,该字段是varchar类型,想把这个byte转成string放入数据库,但是转成字符串的时候出现乱码 ![图片说明]...
  • 字符串乱码解决gb2312

    2009-06-02 15:16:42
    字符串乱码解决 gb2312 培训机构资料
  • Java判断字符串是否是乱码

    千次阅读 2018-02-11 10:21:34
    /** * 判断字符是否是中文 * * @param c 字符 * @return 是否是中文 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Ch.....
  • 在学习“java基本数据类型”相关知识点过程中,使用不同文本编辑器编写java源代码文件在cmd控制台中编译和运行过程中多次出现乱码情况。  电脑操作系统:win10 企业版 文本编辑器:Notepad(Windows自带记事本)...
  • Java判断字符串是否含有乱码

    千次阅读 2018-11-12 10:41:10
    from http://blog.icoolxue.com/java-to-determine-whether-a-string-is-garbled-pro-testing-available/ /** * 判断字符是否是中文 * * @param c 字符 * @return 是否是中文 */ public static b...
  •  ---- 乱码问题   ---- 通过一个事例进行分析 一、需求:   二、过程分析:   第一步:java文件编码格式  文件格式非固定: 第二步:java文件编写保存 第三步:编译成Class文件 第四步:load ...
  • 1.今天在生产上碰到这么一个问题,在前台柜员输入汉子后,录入数据正常,但是从数据库中取出来后,往第三方推的时候,出现了乱码,将繁体一点的字变成了?或者其他符号,造成无法识别,对此我们要对这些乱码做过滤。...
  • java 字符串中文判断

    2013-02-05 10:17:19
    对网上问的一些问题的总结,封装成了一个工具类。完成的功能有: 1、判断字符串中是否有中文; 2、得到字符串中有几个中文; 3、判断字符串中有没有连续的几个中文;
  • 废话不读说了,直接给大家贴代码了,代码附有...* ------------解决中文乱码问题--------- */ public class StringToSixthUtils { private static String hexString = 0123456789abcdef; /* * 将字符串编码成16进制数
  • java字符串乱码问题解决方案

    千次阅读 2009-03-08 14:06:01
    java程序开发中经常会遇到字符串乱码,下面提供的三种方法,基本能解决常见的乱码问题。 1.乱码原因 乱码问题的产生,最根本的原因就是使用错误的字符集解码字节流或者将给定的字符串用错误的字符集编码成...
  • 经过几天的努力,终于给爱酷学习网(http://www.icoolxue.com)加上了搜索...而由此也带来了一个问题,在用户输入查询字符串之后,虽然我已经想尽一切办法解决乱码问题,但是真正在线上的时候,还是遇到了乱码,百
  • 前言       前一段时间对接第三方有赞云,公司让单独开发一项目来对接同步数据,快速开发当然选择springboot了,但项目开发过程中...配置字符串的消息转化器解决问题: import org.sp...
  • Java如何解决乱码问题

    千次阅读 2019-04-10 22:35:50
    java字符串中统一用Unicode表示。 对于任意一个字符串:String string = “测试字符串”; 如果源文件是GBK编码,操作系统默认环境编码也为GBK,那么编译的时候,JVM将按照GBK编码将字节数组解析为字符,然后将字符...
  • * 16进制直接转换成为字符串(无需Unicode解码) * @param hexStr Byte字符串(Byte之间无分隔符 * @author xxs * @return 对应的字符串 */ public static String hexStr2Str(String hexStr) { String str = ...
  • 两个字符串连接输出乱码问题解决

    千次阅读 2017-12-26 23:11:42
    在perl语言中,perl字符串格式包含两部分内容,一个是数据区,一个是utf8 flag...当两个字符串相连接时,需要保证两个字符串都具有相同的格式,否则可以到处最终输出乱码,举例如下:slide1.xml文件内容:<?xml version

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,657
精华内容 27,462
关键字:

java字符串乱码解决

java 订阅