java 验证码 中文乱码_问题记录-java图片验证码显示乱码
部署机器
操作系统:centos 7
java版本: java version "1.7.0_80"
问题症状
将一个java web的程序部署到了两台配置相同的服务器上之后(服务器1、服务器2),程序都正常启动,当前端请求注册服务时,会向后台请求图片验证码,然而(服务器1)验证码出现了如图1所示的乱码问题,图二为(服务器2)正常的验证码显示。
图1
图2
问题探索
猜测1:java字符的编码问题
探索过程:将字符编码转换成utf-8编码,但是乱码问题没有得到解决
猜测2:服务器字体问题,由于两台服务器的java环境是一样的,因此猜测两台服务器的字体配置不一致导致的。
探索过程:(ps:以下操作均在linux的root权限下操作)
1.查看两台服务器的字体版本,通过在服务器上输入如下指令:
rpm -qa | grep font
服务器1
服务器2
上面的两幅图分别显示了服务器1和服务器2的字体库版本,可以看出两台服务器的字体库版本是一样的,因此排除了字体库版本不一样的假设。
2.查看linux字体库里面的字体有哪些
怎样知道字体库的位置呢,通过输入如下指令就可以找到:
find / -name fonts
进入上图标出的文件夹,指令为:
cd /usr/share/fonts
进入文件夹,发现服务器1的文件夹下有一个文件夹lxy,而服务器2该文件夹下没有文件夹,下图显示了文件文件夹lxy的内容。
解决方案
将lxy文件夹移动到其他的文件夹(ps:貌似只改文件夹的名称是不行的,必须将该文件夹移出fonts文件夹),然后重启web服务,问题得到解决。指令:
mv lxy tager
总结
该问题是linux字体库里面的字体文件不同造成的,我猜测java加载字体库时先加载linux系统自带的字体库,如果找不到对应的字体库就会去找java自己的字体库(ps:只是本人的猜测,是否是这样,有待哪位大神来解锁)。
java 验证码 中文乱码_问题记录-java图片验证码显示乱码相关推荐
- java 将中文字符转为英文,java 将中文字符号转为英文
java 将中文字符转为英文,java 将中文字符号转为英文 package test;import java.io.UnsupportedEncodingException;public class ...
- mysql java中文乱码_解决Mysql+Java的中文乱码问题(学习心得)
最近几天一直都在学JSP,我用的数据库是Mysql.在连接数据库的过程中,刚开始我只是简单的执行了查询命令,发现从数据库取出的中文数据全部显示成了乱码,查了一些资料之后,我先用了下面的一个转换函数,值 ...
- java 庖丁解牛中文分词_庖丁解牛中文分词包
http://code.google.com/p/paoding/ Paoding Analysis摘要 Paoding's Knives 中文分词具有极 高效率 和 高扩展性 .引入隐喻,采用完全的 ...
- java xml用word打开乱码_为什么word文档打开是乱码
为什么word文档打开是乱码 篇一:word文档变成乱码的两种解决方法 word文档变成乱码的两种解决方法 一.文档格式法 这种方法是将损坏的Word文档转换为另一种格式,然后再将其转换回Word文档 ...
- 新手学java 学哪方面_初学者学Java应从哪些方面学习?
原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...
- java获取机器号_(转)JAVA获得机器码的实现
http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码 收藏代码 /** *生成机 ...
- java gui中文变方块_150道Java面试基础题(含答案)
1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 vo ...
- java ee是编程语言_什么是Java编程语言?
java ee是编程语言 什么是Java? (What is Java?) Java is an Object-Oriented Programming Language. It was first ...
- java 极客漫画_漫画:Java如何实现热更新?
Arthas(阿尔萨斯)是 Alibaba 开源的一款 Java 诊断工具,使用它我们可以监控和排查 Java 程序,然而它还提供了非常实用的 Java 热更新功能. 所谓的 Java 热更新是指在不 ...
最新文章
- OpenGL 关于旧版glut和新版本glfw和glad的环境配置
- 疯狂ios讲义之网页控件(UIWebView)
- nfa确定化 dfa最小化_深度学习中的优化:梯度下降,确定全局最优值或与之接近的局部最优值...
- 给SAP Spartacus B2B list增加用户提示信息
- 如何在Windows 8.1中获取Windows 10样式的开始菜单
- lambdas 排序_Java8 Lambdas:解释性能缺陷的排序
- Linux 命令之 less -- 分屏上下翻页浏览文件内容(查看文件内容/显示文件内容)
- 【运动快乐】享受赤脚慢跑 收获健康快乐
- 备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?
- python字典的键可以是int吗_Python:大int键的快速字典
- Mac电脑如何一键打开常用的app?
- PCB中 D-Subminiature(DB接口) 连接器系列分类及带有3D封装绘制
- Cisco Packet Tracer 思科模拟器交换机的链路聚合技术
- DTcms-【数据库】-关系分析
- MP4Box切割mp4视频文件
- 关于tomcat启动出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered.问题
- 梦幻109鸿蒙量星太难杀,梦幻西游:维摩诘杀怪最少攻略,20分钟轻松做完!
- 5G网络身份识别---详解5G-GUTI
- java 批量设置单元格边框,VC下设置Excel单元格的边框 (转)
- Dreamweaver cs 6无法添加浏览器 亲测有效!!!
热门文章
- Windows系统解压zip文件之后乱码的问题的原因和解决方法
- 树莓派4b学习笔记一:树莓派4B开箱简单配置(远程工具+opencv+pytorch1.3)
- html动态添加图片不显示不出来,解决 viewer.js 动态更新图片导致无法预览的问题...
- 微信小程序中从缓存storage获取的的数据
- linux写iso文件到u盘,怎么把ISO写入U盘
- 加州自驾游交规停车等注意事项
- 管易云与金蝶云星空对接集成采购入库查询打通采购入库新增
- 【Vue】数据改变,DOM不渲染问题
- 基于Android的智能浇花控制系统设计
- Google 亚马逊水域和波兰街景上线