inputstream.read() 方法 乱码_InputStreamReader

inputstream.read() 方法 乱码_InputStreamReadernewInputStreamReader(request.getInputStream(),“UTF-8”)引起了乱码,改为newInputStreamReader(newBufferedInputStream(request.getInputStream()))后解决了乱码问题针对这个乱码问题,在网上搜索后有以下3种情况[1]数据库表里面字符集设置错误[2]由于未加编码过滤器导致SpringMVC接收参数时造成的乱码[3]代码中涉及byte数组转换String时出现了问题一、解

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

new InputStreamReader(request.getInputStream())引起了乱码,改为
new InputStreamReader(
request.getInputStream(),“UTF-8”)后解决了乱码问题
针对这个乱码问题,在网上搜索后有以下3种情况
[1] 数据库表里面字符集设置错误
[2] 由于未加编码过滤器导致SpringMVC接收参数时造成的乱码
[3] 代码中涉及byte数组转换String时出现了问题
一、解决数据库表里面字符集设置错误
1、打开navicat工具并连接上自己的数据库找到要修改默认字符集的表格。
2、右击表格在菜单中找到“表讯息”。
3、打开表讯息,可以在常规界面中看到“整理”的值为latin1,这个就是表格的字符集。下面我们要把它改成我们需要的utf8
4、输入sql语句ALTER TABLE 表名 DEFAULT CHARACTER SET utf8;
把表名改成自己表格的名字。
5、再返回查看表格“表讯息”发现表格的字符集已经改成了utf8
二、由于未加编码过滤器导致SpringMVC接收参数时造成的乱码
1.先保证所有的页面编码都是utf-8,包括jsp页面,浏览器编码设置和eclipse的编码设置。

2.spingmvc给我们提供了一个编码过滤器,只需要在配置文件web.xml中加入即可。如下:

<filter>
      <filter-name>characterEncoding</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
      <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
      </init-param>
  </filter>
  <filter-mapping>
      <filter-name>characterEncoding</filter-name>
      <url-pattern>/*</url-pattern> </filter-mapping> 

三、代码中涉及byte数组转换String时出现了问题。
1)BufferedReader:从字符流中读取文本
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值足够大

2)InputStreamReader:将字节流转换为字符流。有多个重载方法,

其中一个是:
public InputStreamReader(InputStream in):该解码过程将使用file.encoding默认的字符编码,如果没有设置,则使用ISO 8859_1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189292.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 孙鑫java视频教程笔记[通俗易懂]

    孙鑫java视频教程笔记[通俗易懂](3)为了防止类或函数被覆盖,可以用final声明。private和static默认为final(6)接口中的数据成员默认为publicstaticfinal。(7)java不允许类的多继承,允许类的单继承和接口的多继承。(9)内部类通过this机制可以随意访问外部类的成员。(10)java.lang包被隐形自动导入,不需要import。(12)string是唯一被重载的对

    2022年5月17日
    52
  • double转bigDecimal精度问题

    double转bigDecimal精度问题double转bigDecimal精度问题需要用到bigDecimal的字符串构造来转float的精度:2^237位double的精度:2^5216位十进制转二进制存在精度差doubleg=12.35;BigDecimalbigG=newBigDecimal(g).setScale(1,BigDecimal.ROUND_HALF_UP);//…

    2022年6月4日
    165
  • BetterIntelliJ 2021.4.4 激活码_通用破解码

    BetterIntelliJ 2021.4.4 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    100
  • R语言ggplot画图(autocad命令输入方式有几种)

    提到R语言,总会想到它强大的绘图包ggplot2,甚至于其他语言中也有它的痕迹(例如,python中的matplotlib模块就有ggplot样式)。以下,总结了一些日常绘图中常用的命令。目录一、基本绘图二、精雕细琢三、ggplot中的数据变换一、基本绘图二、精雕细琢(1)图片标题字体、大小、样式设置(2)坐标轴字体、大小、样式设置(3)颜色设置I.指定颜色scale_fill_manual(value=c())II.使用调色板RColorBrewer::displ

    2022年4月10日
    275
  • python自动化测试—Python自动化框架及工具

    python自动化测试—Python自动化框架及工具1概述手续的关于测试的方法论,都是建立在之前的文章里面提到的观点:功能测试不建议做自动化接口测试性价比最高接口测试可以做自动化后面所谈到的测试自动化也将围绕着接口自动化来介绍。本系列选择的测试语言是python脚本语言。由于其官方文档已经对原理有了比较清楚的解释,本文就不做一些多余的翻译工作了。偏向于实战部分,而且为了偏向实战,也会结合IDE工具和项目组织来进行讲解。理由如下:1.脚本语言,开发和迭代的效率极高2.第三方的扩展库极多,有很我现成的工具可以使用在正式进

    2025年5月28日
    3
  • Java list转set;JDK8 下list 集合转Set 集合

    Java list转set;JDK8 下list 集合转Set 集合**List集合转Set集合**List集合和Set集合的区别在说如何List集合转Set集合之前我们先回顾一下List集合和Set集合的区别。他们之间比较细致的区别有蛮多的,不过比较粗糙地来说List和Set之间的区别有以下那么几点(1)llist和…

    2022年6月21日
    133

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号