zoukankan      html  css  js  c++  java
  • 字符流接受utf-8乱码解决

    原方法:
    BufferedReader reader = new BufferedReader(new InputStreamReader(
    connection.getInputStream()));
    String lines;
    StringBuffer sb = new StringBuffer("");
    while ((lines = reader.readLine()) != null) {
    lines = new String(lines.getBytes(), "utf-8");
    sb.append(lines);


    在new InputStreamReader时默认用文件的编码格式(gbk)解析,若字符串中汉字个数为单数,此时最后一位汉字会因为少1个字节导致乱码;之后的 new String(lines.getBytes(), "utf-8")操作解析不出最后一位


    解决方法:

    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
    String lines;
    StringBuffer sb = new StringBuffer("");
    while ((lines = reader.readLine()) != null) {
    lines = new String(lines.getBytes());
    sb.append(lines);
    }

    读取字符流时直接使用utf-8,会直接接受并转化为bgk格式,不会导致乱码;

  • 相关阅读:
    [CodeForces
    [CodeChef]RIN(最小割)
    [Bzoj3894]文理分科(最小割)
    [Poj3469]Dual Core CPU(最小割)
    MySQL- 锁(3)
    MySQL- 锁(1)
    MySQL- 锁(2)
    MySQL-中文全文检索
    Solr
    多线程编程-之并发编程:同步容器
  • 原文地址:https://www.cnblogs.com/lcxz/p/13194258.html
Copyright © 2011-2022 走看看