前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >inputstream.read() 方法 乱码_InputStreamReader

inputstream.read() 方法 乱码_InputStreamReader

作者头像
全栈程序员站长
发布2022-11-09 14:52:03
发布2022-11-09 14:52:03
95800
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

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中加入即可。如下:

代码语言:javascript
代码运行次数:0
运行
复制
<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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月26日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档