背景:AvroParquetReader对象读取hdfs上的parquet文件,列内容中文乱码,如:å\u0085¬è¯\u0081ä¸\u009Aå\u008A¡ç±»å\u0088«æ\u009C\u0089误ï¼\u0081。
字符集中文乱码Way 1:new String(bytes[],charset)进行转换
String value = "å\u0085¬è¯\u0081ä¸\u009Aå\u008A¡ç±»å\u0088«æ\u009C\u0089误ï¼\u0081"; value = new String(value .getBytes("iso-8859-1"),"utf-8"); System.out.println("value : " + value );Way 2:URLEncoder、URLDecoder进行解码编码
String value= "æ¤å\u0085¬è¯\u0081书ä¸\u008Då\u0098å\u009C¨"; value= URLEncoder.encode(value, "ISO-8859-1"); value= URLDecoder.decode(value, "UTF-8"); System.out.println("value : " + value);