nio.charset.UnsupportedCharsetException 解决
JVM不包含字符集的解决办法
当使用Charset.forName("GB2312")
这个方法的时候,要求JVM本身包含该字符集。
Charset.availableCharsets()
查看所有可用字符集,如果不包含会报错。
public class ChineseCharsetProvider extends CharsetProvider {private static final String GB2312 = "GB2312";private static final String BIG5 = "Big5";private static final String GBK = "GBK";@Overridepublic Iterator<Charset> charsets() {return Collections.emptyIterator();}@Overridepublic Charset charsetForName(String charsetName) {if (GB2312.equalsIgnoreCase(charsetName) || BIG5.equalsIgnoreCase(charsetName))return Charset.forName(GBK);return Charset.defaultCharset();}
}
使用这样一个转换器,当使用不包含的中文字符集时,转为调用可用字符集。通过在META-INF中配置进行调用。
项目resource资源文件夹下的建立META-INF/services
文件夹,在其下建一个文本,文件名为java.nio.charset.spi.CharsetProvider
。
在这个文件中,把我们刚刚写的 CharsetProvider 全类名写在里面。这样就会自动调用。
nio.charset.UnsupportedCharsetException 解决相关推荐
- 顺利解决org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException!
时隔上一篇博客的发布时间已经有将近1年的时间,感觉如果再不更新博客的话自己找个csdn博客就要生锈了!所以从这周开始,自己必须要逼自己每周至少发布1~2篇技术博客,欢迎大家对我保持积极监督! ...
- 解决AppCrawler自定义配置后报:java.nio.charset.MalformedInputException: Input length = 1的解决方法
解决方案: 自动生成demo.yml文件后,使用sublime打开,我这边默认是是gbk打开的,左下角如图: 所以更改文件格式,文件-设置文件编码-utf8 即可正常运行文件: java -jar a ...
- nacos文件解析错误:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException
今天在打完镜像之后在本地运行时,出现了org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: ...
- java.nio.charset.MalformedInputException: Input length = 2
问题: 项目在idea中编译运行没有问题,数据能入库.但是当java项目打包成jar包,运行该jar包后 下图蓝色的代码行报错: java.nio.charset.MalformedInputExce ...
- SpringBoot配置外部tomcat启动时发生Caused by: java.nio.charset.MalformedInputException: Input length = 1错误
错误来源 最近在编写springboot项目,需要配置外部tomcat.然而在配置好后启动测试时总是出现 org.yaml.snakeyaml.error.YAMLException: java.ni ...
- java.nio.charset.MalformedInputException: Input length = 1
spring cloud微服务应用程序和nacos配置中心集成后,在windows的idea中正常,打完包,在windows系统上,通过控制台启动,报错下面的错 org.yaml.snakeyaml. ...
- springboot 启动报错java.nio.charset.MalformedInputException: Input length=2
一.问题: springboot 启动的时候报错,错误提示代码如下: java.nio.charset.MalformedInputException: Input length=2 二.原因: 1. ...
- android java.nio.charset.MalformedInputException: Input length = 1
java.nio.charset.MalformedInputException: Input length = 1 现象 What went wrong: Execution failed for ...
- java.lang.NoSuchMethodError: org.springframework.http.MediaType.getCharSet()Ljava/nio/charset/Charse
java.lang.NoSuchMethodError: org.springframework.http.MediaType.getCharSet()Ljava/nio/charset/Charse ...
最新文章
- C# 发送Http请求 - WebClient类
- linux脚本发送udp,基于shell脚本实现UDP端口探测
- python中的优化器有哪些_Python中有哪些性能优化方法
- html树形多选下拉列表,EasyUI 多行树形下拉框(Multiple ComboTree)_Vue EasyUI Demo
- Fabricjs一个简单强大的Canvas绘图库快速入门
- 【Tomcat】Tomcat性能分析
- REVERSE-PRACTICE-CTFSHOW-3
- linux 内存溢出排查_【开发者成长】JAVA 线上故障排查完整套路!
- 可还行?这款手机首获德国红点设计大奖
- 蓝桥杯 ALGO-14 算法训练 回文数
- List转换成json类型以及对象转换成json类型
- Sosoapi本地项目搭建
- python2.7读取txt文件_python如何读取txt文件
- 微信中扫一扫二维码唤起手机默认浏览器的实现方式
- 举个栗子~Tableau 技巧(208):使用“显示/隐藏”按钮,快速切换图表
- 3Dmark2006真让人郁闷!
- 关于CM3/CM4位带操作的总结
- 机器学习入门系列之PCA降维
- 银河麒麟服务器系统使用的一些问题和解决方案
- 转载: React Native 采用Fetch方式发送跨域POST请求